diff options
| author | Akshay Nair <phenax5@gmail.com> | 2025-05-24 17:40:28 +0530 |
|---|---|---|
| committer | Akshay Nair <phenax5@gmail.com> | 2025-05-24 17:41:00 +0530 |
| commit | ce0a366e8ba58fb967d4270e9c0e7d3ba759c759 (patch) | |
| tree | e2db6bcce4eb29bcb92e8d64502d76cf6bc2b95c /modules/email/aerc.home.nix | |
| parent | 5fc036f8de3c55bea6a5853bdd35ca65f168a48e (diff) | |
| download | nixos-config-ce0a366e8ba58fb967d4270e9c0e7d3ba759c759.tar.gz nixos-config-ce0a366e8ba58fb967d4270e9c0e7d3ba759c759.zip | |
Add setup for notmuch+lieer+aerc for email
Diffstat (limited to 'modules/email/aerc.home.nix')
| -rw-r--r-- | modules/email/aerc.home.nix | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/modules/email/aerc.home.nix b/modules/email/aerc.home.nix new file mode 100644 index 0000000..7dcd99e --- /dev/null +++ b/modules/email/aerc.home.nix @@ -0,0 +1,61 @@ +{ config, ... }: +# Create private.nix with work.email, work.name +# Setup with `notmuch setup` +# Authenticate with `take ~/mail/account.gmail/ && gmi init <email>` +let + private = import ./private.nix; + theme = import ./aerc.theme.nix; + maildir = "${config.home.homeDirectory}/mail"; + work-maildir = "${maildir}/account.gmail"; +in { + imports = [ ./mailbox-sync.module.nix ]; + + services.mailbox-sync = { + enable = true; + name = "work"; + maildir = work-maildir; + sync.frequency = "*:0/5"; + notify.enable = true; + }; + + programs.notmuch = { + enable = true; + new = { + tags = ["new"]; + ignore = ["/.*[.](json|lock|bak)$/"]; + }; + extraConfig = { + database = { + path = maildir; + }; + user = { + name = private.work.name; + primary_email = private.work.email; + }; + search = { + exclude_tags = "ignored"; + }; + }; + }; + + programs.aerc = { + enable = true; + + extraAccounts.Work = { + from = "${private.work.name} <${private.work.email}>"; + source = "notmuch://${maildir}"; + outgoing = "gmi send -t -C ${work-maildir}"; + query-map = "${./query-map.conf}"; + folders-sort = "Inbox,Unread,Important,_sent,_spam"; + default = "INBOX"; + copy-to = "Sent"; + postpone = "[Gmail]/Drafts"; + cache-headers = true; + }; + + extraConfig = builtins.readFile ./aerc.conf; + extraBinds = builtins.readFile ./aerc-binds.conf; + + stylesets.default = theme; + }; +} |
