summaryrefslogtreecommitdiff
path: root/user-profiles/feeds/module.nix
diff options
context:
space:
mode:
Diffstat (limited to 'user-profiles/feeds/module.nix')
-rw-r--r--user-profiles/feeds/module.nix32
1 files changed, 25 insertions, 7 deletions
diff --git a/user-profiles/feeds/module.nix b/user-profiles/feeds/module.nix
index 854083ee..da992b8c 100644
--- a/user-profiles/feeds/module.nix
+++ b/user-profiles/feeds/module.nix
@@ -5,7 +5,6 @@ with lib;
5let 5let
6 inherit (flakeInputs.home-manager.lib) hm; 6 inherit (flakeInputs.home-manager.lib) hm;
7 7
8 configPath = "${config.xdg.configHome}/feeds/notmuchrc";
9 databasePath = "${config.xdg.dataHome}/feeds"; 8 databasePath = "${config.xdg.dataHome}/feeds";
10 9
11 imm = 10 imm =
@@ -131,6 +130,30 @@ let
131 130
132 search = { exclude_tags = ["deleted"]; }; 131 search = { exclude_tags = ["deleted"]; };
133 }; 132 };
133 configPath = pkgs.writeText "notmuchrc" (generators.toINI { mkKeyValue = mkIniKeyValue; } notmuchIni);
134
135 afewConfigDir = pkgs.symlinkJoin {
136 name = "afew-config";
137 paths = [
138 (pkgs.writeTextDir "config" ''
139 [InboxFilter]
140 '')
141 ];
142 };
143
144 notmuchHooksDir =
145 let
146 afewHook = pkgs.writeShellScript "afew" ''
147 exec -- ${pkgs.afew}/bin/afew -c ${afewConfigDir} -C ${configPath} --tag --new -vv
148 '';
149 in pkgs.linkFarm "notmuch-hooks" [
150 { name = "post-new";
151 path = afewHook;
152 }
153 { name = "post-insert";
154 path = afewHook;
155 }
156 ];
134in { 157in {
135 config = { 158 config = {
136 home.packages = [ immWrapped ]; 159 home.packages = [ immWrapped ];
@@ -138,12 +161,6 @@ in {
138 home.activation.createImm = hm.dag.entryAfter ["writeBoundary"] '' 161 home.activation.createImm = hm.dag.entryAfter ["writeBoundary"] ''
139 $DRY_RUN_CMD mkdir -p $VERBOSE_ARG ${config.xdg.configHome}/imm 162 $DRY_RUN_CMD mkdir -p $VERBOSE_ARG ${config.xdg.configHome}/imm
140 ''; 163 '';
141
142 xdg.configFile."feeds/notmuchrc".text =
143 let toIni = generators.toINI { mkKeyValue = mkIniKeyValue; };
144 in ''
145 # Generated by Home Manager.
146 '' + toIni notmuchIni;
147 164
148 home.activation.createFeedsDatabase = hm.dag.entryAfter ["linkGeneration" "writeBoundary"] '' 165 home.activation.createFeedsDatabase = hm.dag.entryAfter ["linkGeneration" "writeBoundary"] ''
149 $DRY_RUN_CMD mkdir -p -m 0750 $VERBOSE_ARG ${databasePath} 166 $DRY_RUN_CMD mkdir -p -m 0750 $VERBOSE_ARG ${databasePath}
@@ -155,6 +172,7 @@ in {
155 fi 172 fi
156 NOTMUCH_CONFIG=${configPath} $DRY_RUN_CMD ${pkgs.notmuch}/bin/notmuch new $NOTMUCH_VERBOSE_ARG 173 NOTMUCH_CONFIG=${configPath} $DRY_RUN_CMD ${pkgs.notmuch}/bin/notmuch new $NOTMUCH_VERBOSE_ARG
157 fi 174 fi
175 $DRY_RUN_CMD ln -Tsf $VERBOSE_ARG ${notmuchHooksDir} ${databasePath}/.notmuch/hooks
158 ''; 176 '';
159 177
160 systemd.user.services."logrotate-imm" = { 178 systemd.user.services."logrotate-imm" = {