{ pkgs, config, ... }: { home.packages = with pkgs; [ w3m inetutils ]; services = { # mbsync = { # enable = true; # frequency = "*-*-* *:*/5:00"; # postExec = "\${pkgs.notmuch} new"; # }; vdirsyncer = { enable = true; #frequency = "*-*-* *:*/5:00"; }; }; programs = { aerc = { enable = true; templates = { thanks = '' Thanks! {{exec "{ git remote get-url --push origin; git reflog -2 origin/master --pretty=format:%h | xargs printf '%s\n' | tac; } | xargs printf 'To %s\n %s..%s master -> master'" ""}} ''; }; # extraBinds = { # messages = { # ga = ":flag:pipe -mb git am -3"; # gp = ":term git push"; # gl = ":term git log"; # rt = ":reply -a -Tthanks"; # }; # }; extraConfig = { ui = { sort = "-r arrival"; threading-enabled = true; fuzzy-complete = true; }; general = { default-save-path = "~/Downloads"; log-file = "~/.aerc.log"; unsafe-accounts-conf = true; }; compose = { address-book-cmd = "khard email --parsable --remove-first-line %s"; }; filters = { "text/plain" = "colorize"; "text/calendar" = "calendar"; "text/html" = "html | colorize"; }; }; }; msmtp = { enable = true; }; mbsync = { enable = true; }; notmuch = { enable = true; new.tags = [ "new" ]; hooks = { postNew = '' notmuch tag +personal "path:personal/**" notmuch tag +work "path:work/**" notmuch tag +sent -new tag:new from:michael@michaelthomson.dev notmuch tag +sent -new tag:new from:mthomson@konradgroup.com notmuch tag +cal attachment:.ics notmuch tag +inbox +unread -new "tag:new" ''; preNew = '' mbsync -a (cd ~/Maildir/work/ && gmi sync) ''; }; }; lieer = { enable = true; }; vdirsyncer = { enable = true; }; khal = { enable = true; }; khard = { enable = true; }; mu = { enable = true; }; }; accounts = { email = { accounts.personal = { primary = true; address = "michael@michaelthomson.dev"; realName = "Michael Thomson"; userName = "michael@michaelthomson.dev"; passwordCommand = "rbw get --folder email michael@michaelthomson.dev"; aerc = { enable = true; }; mbsync = { enable = true; create = "both"; expunge = "both"; }; imap = { host = "mail.michaelthomson.dev"; port = 993; tls = { enable = true; }; }; msmtp = { enable = true; }; smtp = { host = "mail.michaelthomson.dev"; port = 465; tls = { enable = true; }; }; notmuch = { enable = true; }; mu = { enable = true; }; }; accounts.work = { primary = false; flavor = "gmail.com"; address = "mthomson@konradgroup.com"; realName = "Michael Thomson"; aerc = { enable = true; }; notmuch = { enable = true; }; lieer = { enable = true; settings = { replace_slash_with_dot = true; ignore_tags = [ "new" "personal" "work" ]; }; }; }; }; calendar = { basePath = ".calendar"; accounts.personal = { primary = true; primaryCollection = "personal"; remote = { type = "caldav"; url = "https://nextcloud.michaelthomson.dev/remote.php/dav"; userName = "michael@michaelthomson.dev"; passwordCommand = [ "rbw" "get" "nextcloud.michaelthomson.dev" ]; }; vdirsyncer = { enable = true; auth = "basic"; collections = ["personal"]; }; khal = { enable = true; type = "calendar"; }; }; }; contact = { basePath = ".contacts"; accounts.personal = { local = { type = "filesystem"; fileExt = ".vcf"; }; remote = { type = "carddav"; url = "https://nextcloud.michaelthomson.dev/remote.php/dav"; userName = "michael@michaelthomson.dev"; passwordCommand = [ "rbw" "get" "nextcloud.michaelthomson.dev" ]; }; vdirsyncer = { enable = true; auth = "basic"; collections = ["contacts"]; }; khal = { enable = true; collections = ["contacts"]; }; khard = { enable = true; defaultCollection = "contacts"; }; }; }; }; }