117 lines
2.7 KiB
Nix
117 lines
2.7 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
...
|
|
}: {
|
|
accounts.email.accounts = {
|
|
gmail = {
|
|
primary = true;
|
|
realName = "Don Harper";
|
|
userName = "don";
|
|
address = "don@donharper.org";
|
|
# secondaries = ["duck@duckland.org" "duckunix@gmail.com"];
|
|
notmuch.enable = true;
|
|
imap = {
|
|
host = "imap.gmail.com";
|
|
authentication = "login";
|
|
};
|
|
signature = {
|
|
text = ''
|
|
Don Harper
|
|
'';
|
|
showSignature = "append";
|
|
};
|
|
};
|
|
};
|
|
|
|
programs = {
|
|
afew = {
|
|
enable = true;
|
|
extraConfig =
|
|
''
|
|
[FolderNameFilter]
|
|
# folder_explicit_list = aurora development kisd mailing-lists news pen Sent-Mail uh
|
|
# folder_blacklist = Inbox All-Mail Drafts Trash
|
|
folder_blacklist = All-Mail Trash
|
|
[SpamFilter]
|
|
[KillThreadsFilter]
|
|
[ListMailsFilter]
|
|
[ArchiveSentMailsFilter]
|
|
[InboxFilter]
|
|
'';
|
|
};
|
|
notmuch = {
|
|
enable = true;
|
|
new = {
|
|
tags = ["new" "unread"];
|
|
ignore = [
|
|
".mbsyncstate"
|
|
".uidvalidity"
|
|
".mbsyncstate.journal"
|
|
".mbsyncstate.new"
|
|
".mbsyncstate.lock"
|
|
];
|
|
};
|
|
maildir = {
|
|
synchronizeFlags = true;
|
|
};
|
|
extraConfig = {
|
|
index = {
|
|
"header.List" = "List-Id";
|
|
};
|
|
database = {
|
|
path = "/home/don/Mail";
|
|
hook_dir = "/home/don/.config/notmuch/hooks";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
xdg.configFile."notmuch/hooks/post-new".source = ./files/notmuch/post-new;
|
|
# xdg.configFile."notmuch/hooks/post-new".text = ''
|
|
# ${pkgs.afew}/bin/afew --tag --all
|
|
# '';
|
|
xdg.configFile."neomutt/neomuttrc".source = ./files/neomutt/neomuttrc;
|
|
xdg.configFile."neomutt/mailcap".source = ./files/neomutt/mailcap;
|
|
|
|
home.file.".mbsyncrc".source = ./files/mbsyncrc;
|
|
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"];};
|
|
};
|
|
};
|
|
}
|