diff options
| -rw-r--r-- | home/mail/default.nix | 55 |
1 files changed, 35 insertions, 20 deletions
diff --git a/home/mail/default.nix b/home/mail/default.nix index c858c29..10828c7 100644 --- a/home/mail/default.nix +++ b/home/mail/default.nix @@ -55,30 +55,45 @@ with lib; { use_threads = "flat"; index_format = "'%4C %Z %<[y?%<[m?%<[d?%[%H:%M ]&%[%a %d]>&%[%b %d]>&%[%m/%y ]> %-15.15L (%?l?%4l&%4c?) %s'"; }; + + extraConfig = '' + auto_view text/html + alternative_order text/plain text/enriched text/html + ''; }; }; - # .dovecot.sieve tiene que ser un symlink tal que el readlink -f de su - # dirname (no del symlink en sí) sea la misma cadena que el readlink -f - # de ~/sieve. Dovecot verifica eso y tira "Invalid/unknown path to - # storage" si este check frágil falla. Ni siquiera - # mkOutOfStoreSymlink funciona. Ver código fuente de Dovecot: - # pigeonhole/src/lib-sieve/storage/file/sieve-file-storage-active.c - home = - let - sieve = pkgs.runCommandNoCCLocal "sieve" { src = ./sieve; } '' - cp -r $src $out - chmod -R u+w $out - find $out -name '*.sieve' -exec ${pkgs.dovecot_pigeonhole}/bin/sievec -c /dev/null {} \; + home = mkMerge [ + ({ + file.".mailcap".text = '' + text/html; ${pkgs.luakit}/bin/luakit '%s' &; test=test -n "$DISPLAY"; needsterminal; + text/html; ${pkgs.lynx}/bin/lynx -dump %s; nametemplate=%s.html; copiousoutput; ''; - in - mkIf config.local.mail.sieve.enable { - file."sieve".source = sieve; + }) - activation.sieve = hm.dag.entryBetween [ "linkGeneration" ] [ "writeBoundary" ] '' - $DRY_RUN_CMD ln -Tsf ${sieve}/mail.sieve .dovecot.sieve - $DRY_RUN_CMD ln -Tsf ${sieve}/mail.svbin .dovecot.svbin - ''; - }; + # .dovecot.sieve tiene que ser un symlink tal que el readlink -f de su + # dirname (no del symlink en sí) sea la misma cadena que el readlink -f + # de ~/sieve. Dovecot verifica eso y tira "Invalid/unknown path to + # storage" si este check frágil falla. Ni siquiera + # mkOutOfStoreSymlink funciona. Ver código fuente de Dovecot: + # pigeonhole/src/lib-sieve/storage/file/sieve-file-storage-active.c + ( + let + sieve = pkgs.runCommandNoCCLocal "sieve" { src = ./sieve; } '' + cp -r $src $out + chmod -R u+w $out + find $out -name '*.sieve' -exec ${pkgs.dovecot_pigeonhole}/bin/sievec -c /dev/null {} \; + ''; + in + mkIf config.local.mail.sieve.enable { + file."sieve".source = sieve; + + activation.sieve = hm.dag.entryBetween [ "linkGeneration" ] [ "writeBoundary" ] '' + $DRY_RUN_CMD ln -Tsf ${sieve}/mail.sieve .dovecot.sieve + $DRY_RUN_CMD ln -Tsf ${sieve}/mail.svbin .dovecot.svbin + ''; + } + ) + ]; }; } |
