feat(mail): Import email configuration into Nix

This moves my email configuration into NixOS, including the following
features:

1. Replaced the NixOS-builtin offlineimap user service with a custom
   one that runs notmuch-indexing as part of the systemd unit instead
   of a postsynchook, which is significantly more reliable.
2. Adds configuration for notmuch and its tagging.
3. Adds configuration for OfflineIMAP & MSMTP.

Relevant emacs configuration has also been added to my emacs.d
repository.
This commit is contained in:
Vincent Ambo 2018-06-06 16:26:24 +02:00
parent 969c007182
commit 1239f26e8a
5 changed files with 183 additions and 9 deletions

24
dotfiles/msmtprc Normal file
View file

@ -0,0 +1,24 @@
defaults
port 587
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
# Aprila mail
account aprila
from vincent@aprila.no
host smtp.office365.com
auth on
user vincent@aprila.no
passwordeval pass show aprila/office365-mail
# Runbox mail
account runbox
from mail@tazj.in
host mail.runbox.com
auth on
user mail@tazj.in
passwordeval pass show general/runbox-tazjin
# Use Runbox as default
account default : runbox

21
dotfiles/notmuch-config Normal file
View file

@ -0,0 +1,21 @@
# .notmuch-config - Configuration file for the notmuch mail system
#
# For more information about notmuch, see https://notmuchmail.org
[database]
path=/home/vincent/mail
[user]
name=Vincent Ambo
primary_email=mail@tazj.in
other_email=vincent@aprila.no;tazjin@gmail.com;
[new]
tags=unread;inbox;
ignore=
[search]
exclude_tags=deleted;spam;
[maildir]
synchronize_flags=true

61
dotfiles/offlineimaprc Normal file
View file

@ -0,0 +1,61 @@
[general]
accounts = aprila, tazjin, gmail
[DEFAULT]
ssl = yes
sslcacertfile = /etc/ssl/certs/ca-certificates.crt
# Main work account:
[Account aprila]
localrepository = aprila-local
remoterepository = aprila-remote
[Repository aprila-local]
type = Maildir
localfolders = ~/mail/aprila
[Repository aprila-remote]
type = IMAP
remotehost = outlook.office365.com
remoteuser = vincent@aprila.no
remotepassfile = ~/.config/mail/aprila-pass
# Office365 is a naughty boy when it comes to IMAP. Even worse, they
# also seem to have decided that they should change IMAP folder names
# based on the UI language.
#
# I can't be bothered to implement the entire (relatively long)
# blacklist, so I'll instead whitelist relevant folders:
folderfilter = lambda folder: folder in ['INBOX', 'Arkiv', 'Sende element']
# Private GMail account (old):
[Account gmail]
# maxage = 30 # otherwise the volume is too high ...
localrepository = gmail-local
remoterepository = gmail-remote
synclabels = yes
[Repository gmail-local]
type = GmailMaildir
localfolders = ~/mail/gmail
[Repository gmail-remote]
type = Gmail
remoteuser = tazjin@gmail.com
remotepassfile = ~/.config/mail/gmail-pass
folderfilter = lambda folder: folder == 'INBOX'
# Main private account:
[Account tazjin]
localrepository = tazjin-local
remoterepository = tazjin-remote
[Repository tazjin-local]
type = Maildir
localfolders = ~/mail/tazjin
[Repository tazjin-remote]
type = IMAP
remotehost = mail.runbox.com
remoteuser = mail@tazj.in
remotepassfile = ~/.config/mail/tazjin-pass
auth_mechanisms = LOGIN