omniflake/home/mail/default.nix

262 lines
7.4 KiB
Nix

{ config, pkgs, lib, ... }:
{
programs.msmtp = {
enable = true;
configContent = lib.mkOrder 1200 ''
defaults
logfile ${config.xdg.stateHome}/msmtp/msmtp.log
port 587
account ktiu : t9e
from *@ktiu.net
'';
};
programs.mbsync.enable = true;
programs.neomutt = {
enable = true;
vimKeys = true;
extraConfig = builtins.readFile ./config.neomuttrc;
};
programs.notmuch.enable = true;
xdg.configFile."neomutt/bindings.neomuttrc".source = ./bindings.neomuttrc;
xdg.configFile."neomutt/smime.neomuttrc".source = ./smime.neomuttrc;
xdg.configFile."neomutt/mailcap".source = ./neomutt_mailcap;
accounts.email = {
maildirBasePath = "${config.xdg.dataHome}/mail";
accounts = {
gu = {
primary = true;
address = "straube@geo.uni-frankfurt.de";
realName = "Till Straube";
imap.host = "imap.server.uni-frankfurt.de";
smtp.host = "smtpauth.rz.uni-frankfurt.de";
smtp.tls.useStartTls = true;
userName = "tstraube";
notmuch.enable = true;
passwordCommand = "pass uni/hrz";
signature = {
text = ''
Dr. Till Straube (he/him)
Dept. of Human Geography
Goethe University Frankfurt
'';
showSignature = "append";
};
mbsync = {
enable = true;
create = "maildir";
expunge = "both";
};
msmtp.enable = true;
neomutt = {
enable = true;
sendMailCommand = lib.getExe pkgs.msmtp;
extraConfig = ''
set mbox='+Archive'
set my_junk='+Spamverdacht'
set my_mbsync_acct='gu'
set crypt_auto_smime
unset crypt_auto_pgp
set crypt_autosign
set crypt_replyencrypt
set crypt_replysign
set crypt_replysignencrypted
set crypt_verify_sig
# set smime_default_key = "f1355556.0"
set smime_sign_as = "f1355556.0"
set pgp_default_key = ""
# unset crypt_use_gpgme
unalternates *
alternates ^straube@em.uni-frankfurt.de$ \
^tstraube@em.uni-frankfurt.de$ \
^tstraube@rz.uni-frankfurt.de$ \
^tstraube@uni-frankfurt.de$
unset reverse_name
set my_signature = ${
pkgs.writeText
"signature.txt"
config.accounts.email.accounts.gu.signature.text
}
color status blue default
'';
};
};
t9e = {
address = "till.straube@t9e.me";
realName = "Till Straube";
imap.host = "arielle.ktiu.net";
smtp.host = "arielle.ktiu.net";
smtp.tls.useStartTls = true;
notmuch.enable = true;
userName = "till.straube@t9e.me";
signature.text = ''
Till Straube (he/him)
PGP key: https://keys.openpgp.org/search?q=till.straube@t9e.me
'';
signature.showSignature = "append";
gpg = {
key = "5FA6782F543D12ED07110780BA1B73F10BABF8E3";
signByDefault = true;
};
neomutt = {
enable = true;
sendMailCommand = lib.getExe pkgs.msmtp;
extraConfig = ''
set my_mbsync_acct='t9e'
set mbox='+Archive'
set my_junk='+Junk'
set crypt_auto_pgp
unset crypt_auto_smime
unalternates *
alternates @t9e.me$ @ktiu.net$
set reverse_name
set my_signature = ${
pkgs.writeText
"signature.txt"
config.accounts.email.accounts.t9e.signature.text
}
color status green default
'';
};
mbsync = {
enable = true;
create = "maildir";
expunge = "both";
};
msmtp = {
enable = true;
extraConfig.from = "*@t9e.me";
};
passwordCommand = "pass mail/arielle.ktiu.net";
};
ktiu = {
address = "till@ktiu.net";
realName = "Till Straube";
imap.host = "shorbut.ktiu.net";
smtp.host = "shorbut.ktiu.net";
smtp.tls.useStartTls = true;
notmuch.enable = true;
userName = "till";
signature.text = ''
Till Straube (he/him)
PGP key: https://keys.openpgp.org/search?q=till@ktiu.net
'';
signature.showSignature = "append";
gpg = {
key = "5FA6782F543D12ED07110780BA1B73F10BABF8E3";
signByDefault = true;
};
neomutt = {
enable = true;
sendMailCommand = lib.getExe pkgs.msmtp;
extraConfig = ''
set my_mbsync_acct='ktiu'
set mbox='+Archive'
set my_junk='+Junk'
set crypt_auto_pgp
unset crypt_auto_smime
unalternates *
alternates @ktiu.net$
set reverse_name
set my_signature = ${
pkgs.writeText
"signature.txt"
config.accounts.email.accounts.ktiu.signature.text
}
color status green default
'';
};
mbsync = {
enable = true;
create = "maildir";
expunge = "both";
};
msmtp = {
enable = false;
# extraConfig.from = "*@ktiu.net";
};
passwordCommand = "secret-tool lookup server shorbut.ktiu.net account till";
};
ksh = {
address = "kein_schlussstrich_hessen@systemli.org";
realName = "Kein Schlussstrich Hessen";
imap.host = "mail.systemli.org";
smtp.host = "mail.systemli.org";
smtp.tls.useStartTls = true;
notmuch.enable = true;
userName = "kein_schlussstrich_hessen@systemli.org";
signature.text = ''
Kein Schlussstrich Hessen
PGP Key: https://keys.openpgp.org/search?q=kein_schlussstrich_hessen@systemli.org
'';
signature.showSignature = "append";
neomutt = {
enable = true;
# sendMailCommand = "/home/till/.nix-profile/bin/msmtp";
sendMailCommand = lib.getExe pkgs.msmtp;
extraConfig = ''
set my_mbsync_acct='ksh'
set mbox='+Erledigt'
set my_junk='+Junk'
set postponed='+Drafts'
set record='+Sent'
set trash='+Trash'
set crypt_auto_pgp
unset crypt_auto_smime
unalternates *
set reverse_name
set my_signature = ${
pkgs.writeText
"signature.txt"
config.accounts.email.accounts.ksh.signature.text
}
color status cyan default
'';
};
mbsync = {
enable = true;
create = "maildir";
expunge = "both";
};
msmtp = {
enable = true;
extraConfig.from = "kein_schlussstrich_hessen@systemli.org";
};
passwordCommand = "pass other/ksh_systemli";
};
};
};
programs.neovim.plugins = with pkgs.vimPlugins; [
{
plugin = vim-pathogen;
config = "execute pathogen#infect()";
}
];
xdg.configFile."nvim/bundle/woof-vim" = {
source = config.lib.file.mkOutOfStoreSymlink "/home/till/devel/woof-vim";
recursive = true;
};
}