NixOS-Configs/home/common/mail.nix
2024-09-01 10:30:16 -05:00

89 lines
1.7 KiB
Nix

{
config,
pkgs,
...
}: {
accounts.email.accounts = {
"don@donharper.org" = {
primary = true;
realName = "Don Harper";
userName = "don";
address = "don@donharper.org";
#secondaries = [ "duck@duckland.org" "duckunix@gmail.com" ];
notmuch.enable = true;
};
};
programs.notmuch = {
enable = true;
new = {
tags = ["unread"];
ignore = [
".mbsyncstate"
".uidvalidity"
".mbsyncstate.journal"
".mbsyncstate.new"
".mbsyncstate.lock"
];
};
extraConfig = {
database = {
path = "/home/don/Mail";
};
};
};
xdg.configFile."neomutt/neomuttrc".source = ./files/neomutt/neomuttrc;
xdg.configFile."neomutt/mailcap".source = ./files/neomutt/mailcap;
home.file.".signature".text = ''
--
Don Harper
'';
systemd.user = {
timers.mbsync = {
Timer = {
OnUnitActiveSec = "5m";
AccuracySec = "1m";
};
Install = {
WantedBy = ["timers.target"];
};
};
services.mbsync = {
Service = {
ExecStart = "/home/don/bin/mbsync";
Environment = "PATH=/run/current-system/sw/bin";
Type = "oneshot";
};
Install = {
WantedBy = ["mbsync.timer"];
};
};
services."mbsync-all" = {
Service = {
ExecStart = "/home/don/bin/mbsync gmail";
Environment = "PATH=/run/current-system/sw/bin";
Type = "oneshot";
};
Install = {
WantedBy = ["mbsync-all.timer"];
};
};
timers."mbsync-all" = {
Timer = {
AccuracySec = "1m";
OnUnitActiveSec = "14m";
};
Install = {
WantedBy = ["timers.target"];
};
};
};
}