From b52eb0ddce7c8a476351f38fedfea92e83b23f18 Mon Sep 17 00:00:00 2001 From: Mike Vink Date: Sun, 22 Oct 2023 12:18:05 +0200 Subject: fix emails to gmail --- profiles/email/server.nix | 59 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 profiles/email/server.nix (limited to 'profiles/email/server.nix') diff --git a/profiles/email/server.nix b/profiles/email/server.nix new file mode 100644 index 0000000..9a5e16c --- /dev/null +++ b/profiles/email/server.nix @@ -0,0 +1,59 @@ +{ + inputs, + config, + pkgs, + lib, + ... +}: with lib; { + hm = { + accounts.email = { + accounts = { + ${ivi.username} = { + realName = "${ivi.realName}"; + userName = "${ivi.email}"; + address = "${ivi.email}"; + passwordCommand = ["${pkgs.pass}/bin/pass" "personal/mailserver"]; + imap = { host = "${ivi.domain}"; port = 993; tls = { enable = true; }; }; + smtp = { host = "${ivi.domain}"; port = 587; tls = { enable = true; useStartTls = true; }; }; + msmtp = { + enable = true; + }; + neomutt = { + enable = true; + sendMailCommand = "msmtp -a ${ivi.username}"; + mailboxName = "=== ${ivi.username} ==="; + extraConfig = '' + set spoolfile='Inbox' + unvirtual-mailboxes * + ''; + }; + mbsync = { + enable = true; + create = "both"; remove = "both"; expunge = "both"; + groups = { + ${ivi.username} = { + channels = { + All = { patterns = ["*"]; extraConfig = { Create = "Both"; Expunge = "Both"; Remove = "Both"; }; }; + }; + }; + }; + }; + notmuch = { + enable = true; + neomutt = { + enable = true; + virtualMailboxes = [ + { name = "Inbox"; query = "folder:/${ivi.username}/ tag:inbox"; } + { name = "Sent"; query = "folder:/${ivi.username}/ tag:sent"; } + { name = "Archive"; query = "folder:/${ivi.username}/ tag:archive"; } + { name = "Drafts"; query = "folder:/${ivi.username}/ tag:drafts"; } + { name = "Junk"; query = "folder:/${ivi.username}/ tag:spam"; } + { name = "Trash"; query = "folder:/${ivi.username}/ tag:trash"; } + ]; + }; + }; + }; + }; + }; + }; +} -- cgit v1.2.3