{ 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 = [ "new" "unread" "inbox" ]; ignore = [ ".mbsyncstate" ".uidvalidity" ".mbsyncstate.journal" ".mbsyncstate.new" ".mbsyncstate.lock" ]; }; maildir.synchronizeFlags = true; extraConfig = { 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."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" ]; }; }; }; }