{ pkgs, hostName, ... }: { accounts.email.accounts = let realName = "Evelyn Litherland-Smith"; in { proton = let host = "127.0.0.1"; tls.enable = false; in rec { inherit realName; maildir.path = "Proton"; imap = { inherit host tls; port = 1143; }; smtp = { inherit host tls; port = 1025; }; address = "e.litherlandsmith@proton.me"; aliases = [ "evie@xenia.me.uk" "evie@litherlandsmith.slmail.me" ]; passwordCommand = "${pkgs.pass}/bin/pass show Mail/Proton/${hostName}"; primary = true; userName = address; mbsync = { enable = true; create = "both"; expunge = "both"; patterns = [ "INBOX" "Archive" "Drafts" "Sent" "Spam" "Starred" "Trash" ]; subFolders = "Verbatim"; extraConfig.account.AuthMechs = "LOGIN"; }; msmtp = { enable = true; extraConfig = { tls = "off"; auth = "login"; }; }; mu.enable = true; }; icloud = rec { inherit realName; maildir.path = "iCloud"; imap.host = "imap.mail.me.com"; smtp.host = "smtp.mail.me.com"; address = "e.litherlandsmith@icloud.com"; passwordCommand = "${pkgs.pass}/bin/pass show Mail/iCloud/mbsync"; userName = address; mbsync = { enable = true; create = "both"; expunge = "both"; subFolders = "Verbatim"; }; msmtp.enable = true; mu.enable = true; }; }; home.packages = with pkgs; [ protonmail-bridge vdirsyncer ]; programs = { mbsync.enable = true; msmtp.enable = true; # vdirsyncer = { enable = true; }; mu.enable = true; }; services.mbsync = { enable = true; frequency = "*-*-* *:0/15:00"; }; xdg.configFile."vdirsyncer/config".text = import ./config/vdirsyncer.nix { inherit pkgs; }; }