summaryrefslogtreecommitdiff
path: root/home/mail/default.nix
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2023-09-14 01:48:54 -0600
committerAlejandro Soto <alejandro@34project.org>2023-09-14 01:48:54 -0600
commit7eb3f848882f23db03a3807e400565513c02d661 (patch)
tree11c708cb8a90187a7fe3f5147743f1ff3d222452 /home/mail/default.nix
parent56b66394f32b12868541ed162c39e0d4d83a526b (diff)
home/mail: enable MIME display in mutt
Diffstat (limited to 'home/mail/default.nix')
-rw-r--r--home/mail/default.nix55
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
+ '';
+ }
+ )
+ ];
};
}