aboutsummaryrefslogtreecommitdiff
path: root/dot_config
diff options
context:
space:
mode:
authorRyan Kavanagh <rak@rak.ac>2023-12-20 11:03:47 -0500
committerRyan Kavanagh <rak@rak.ac>2023-12-20 11:03:47 -0500
commitf5b3c563bdbe24796c645ed2845c857b7e9f77ac (patch)
tree0b1a516e0ee93e0339cd0034eb6374b64b5b1320 /dot_config
parentOnly install ~/afs on Linux (diff)
parentSplit out some common shell config options (diff)
Merge remote-tracking branch 'rak-https/master'
Diffstat (limited to 'dot_config')
-rw-r--r--dot_config/neomutt/accounts.rc83
-rw-r--r--dot_config/neomutt/accounts/9rak.queensu.ca/folders.rc5
-rw-r--r--dot_config/neomutt/accounts/9rak.queensu.ca/format.rc5
-rw-r--r--dot_config/neomutt/accounts/9rak.queensu.ca/main.rc12
-rw-r--r--dot_config/neomutt/accounts/9rak.queensu.ca/private_read.rc.tmpl8
-rw-r--r--dot_config/neomutt/accounts/9rak.queensu.ca/send.rc10
-rw-r--r--dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/encrypted_alias.rc.asc34
-rw-r--r--dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/folders.rc5
-rw-r--r--dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/format.rc.tmpl9
-rw-r--r--dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/main.rc12
-rw-r--r--dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/read.rc8
-rw-r--r--dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/send.rc14
-rw-r--r--dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/signature4
-rw-r--r--dot_config/neomutt/accounts/rak.rak.ac/encrypted_savehooks.rc.asc40
-rw-r--r--dot_config/neomutt/accounts/rak.rak.ac/folders.rc5
-rw-r--r--dot_config/neomutt/accounts/rak.rak.ac/format.rc5
-rw-r--r--dot_config/neomutt/accounts/rak.rak.ac/main.rc13
-rw-r--r--dot_config/neomutt/accounts/rak.rak.ac/private_read.rc.tmpl7
-rw-r--r--dot_config/neomutt/accounts/rak.rak.ac/send.rc8
-rw-r--r--dot_config/neomutt/accounts/rkavanag.alumni.cmu.edu/encrypted_private_alias.rc.asc113
-rw-r--r--dot_config/neomutt/accounts/rkavanag.alumni.cmu.edu/folders.rc4
-rw-r--r--dot_config/neomutt/accounts/rkavanag.alumni.cmu.edu/format.rc5
-rw-r--r--dot_config/neomutt/accounts/rkavanag.alumni.cmu.edu/main.rc12
-rw-r--r--dot_config/neomutt/accounts/rkavanag.alumni.cmu.edu/private_read.rc.tmpl8
-rw-r--r--dot_config/neomutt/accounts/rkavanag.alumni.cmu.edu/send.rc8
-rw-r--r--dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/encrypted_alias.rc.asc40
-rw-r--r--dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/folders.rc5
-rw-r--r--dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/format.rc5
-rw-r--r--dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/main.rc12
-rw-r--r--dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/read.rc8
-rw-r--r--dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/send.rc8
-rw-r--r--dot_config/neomutt/accounts/ryanakca.gmail.com/encrypted_private_savehooks.rc.asc43
-rw-r--r--dot_config/neomutt/accounts/ryanakca.gmail.com/folders.rc8
-rw-r--r--dot_config/neomutt/accounts/ryanakca.gmail.com/format.rc5
-rw-r--r--dot_config/neomutt/accounts/ryanakca.gmail.com/main.rc11
-rw-r--r--dot_config/neomutt/accounts/ryanakca.gmail.com/private_read.rc.tmpl7
-rw-r--r--dot_config/neomutt/accounts/ryanakca.gmail.com/send.rc8
-rw-r--r--dot_config/neomutt/color.rc114
-rw-r--r--dot_config/neomutt/encrypted_private_alias.rc.asc74
-rw-r--r--dot_config/neomutt/gpg.rc11
-rw-r--r--dot_config/neomutt/mailinglists.rc6
-rw-r--r--dot_config/neomutt/neomuttrc.tmpl164
-rw-r--r--dot_config/neomutt/news.rc71
-rw-r--r--dot_config/neomutt/score.rc24
-rw-r--r--dot_config/private_borgmatic/encrypted_private_home.yaml.asc72
-rw-r--r--dot_config/sh/aliases49
-rw-r--r--dot_config/sh/locale10
-rw-r--r--dot_config/sh/xdg-base-dirs4
-rw-r--r--dot_config/systemd/user/borgmatic@tosh.service.wants/symlink_backup-email@mail.cs.mcgill.ca.service1
49 files changed, 1160 insertions, 37 deletions
diff --git a/dot_config/neomutt/accounts.rc b/dot_config/neomutt/accounts.rc
new file mode 100644
index 0000000..6fdb111
--- /dev/null
+++ b/dot_config/neomutt/accounts.rc
@@ -0,0 +1,83 @@
+# vim: syntax=muttrc
+
+account-hook imaps://ryanakca@gmail.com@imap.gmail.com \
+ source $XDG_CONFIG_HOME/neomutt/accounts/ryanakca.gmail.com/main.rc
+
+account-hook imaps://ryan.kavanagh@mcgill.ca@outlook.office365.com \
+ source $XDG_CONFIG_HOME/neomutt/accounts/ryan.kavanagh.mcgill.ca/main.rc
+
+account-hook imaps://ryan.kavanagh@mail.mcgill.ca@outlook.office365.com \
+ source $XDG_CONFIG_HOME/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/main.rc
+
+account-hook imaps://9rak@queensu.ca@outlook.office365.com \
+ source $XDG_CONFIG_HOME/neomutt/accounts/9rak.queensu.ca/main.rc
+
+account-hook imaps://kavanagh.ryan@uqam.ca@outlook.office365.com \
+ source $XDG_CONFIG_HOME/neomutt/accounts/kavanagh.ryan.uqam.ca/main.rc
+
+account-hook imaps://imap.rak.ac \
+ source $XDG_CONFIG_HOME/neomutt/accounts/rak.rak.ac/main.rc
+
+account-hook imaps://mail.cs.mcgill.ca \
+ source $XDG_CONFIG_HOME/neomutt/accounts/ryank.mail.cs.mcgill.ca/main.rc
+
+account-hook imaps://rkavanag@alumni.cmu.edu@imap.gmail.com \
+ source $XDG_CONFIG_HOME/neomutt/accounts/rkavanag.alumni.cmu.edu/main.rc
+
+macro compose <F2> '<enter-command>set folder="imaps://ryanakca@gmail.com@imap.gmail.com"<enter>\
+<edit-fcc><kill-line><enter>\
+<enter-command>set sendmail="sendmail -oem -oi"<enter>\
+<edit-from><kill-line>Ryan Kavanagh <ryanakca@ubuntu.com><enter>' \
+"Send mail from Ubuntu account"
+
+macro compose <Esc><F2> '<enter-command>set folder="imaps://ryanakca@gmail.com@imap.gmail.com"<enter>\
+<edit-fcc><kill-line><enter>\
+<enter-command>set sendmail="sendmail -oem -oi"<enter>\
+<edit-from><kill-line>Ryan Kavanagh <ryanakca@kubuntu.org><enter>' \
+"Send mail from Kubuntu account"
+
+macro compose <F3> '<enter-command>set folder="imaps://rkavanag@alumni.cmu.edu@imap.gmail.com"<enter>\
+<edit-fcc><kill-line><enter>\
+<enter-command>set sendmail="sendmail -oem -oi"<enter>\
+<edit-from><kill-line>Ryan Kavanagh <rkavanag@alumni.cmu.edu><enter>' \
+"Send mail from CMU Alumni account"
+
+macro compose <Esc><F3> '<enter-command>set folder="imaps://rkavanag@alumni.cmu.edu@imap.gmail.com"<enter>\
+<edit-fcc><kill-line><enter>\
+<enter-command>set sendmail="sendmail -oem -oi"<enter>\
+<edit-from><kill-line>Ryan Kavanagh <rkavanagh@cs.cmu.edu><enter>' \
+"Send mail from CMU SCS account"
+
+macro compose <F4> '<enter-command>set folder="imaps://outlook.office365.com"<enter>\
+<edit-fcc><kill-line>=Sent Items<enter>\
+<edit-from><kill-line>Ryan Kavanagh <ryan.kavanagh@queensu.ca><enter>' \
+"Send mail from QueensU"
+
+macro compose <Esc><F4> '<enter-command>set folder="imaps://ryanakca@gmail.com@imap.gmail.com"<enter>\
+<edit-fcc><kill-line><enter>\
+<enter-command>set sendmail="sendmail -oem -oi"<enter>\
+<edit-from><kill-line>Ryan Kavanagh <ryan@cs.queensu.ca><enter>' \
+"Send mail from cs.queensu.ca"
+
+macro compose <F5> '<enter-command>set folder="imaps://imap.rak.ac/"<enter>\
+<edit-fcc><kill-line>=Sent<enter>\
+<enter-command>set sendmail="sendmail -oem -oi"<enter>\
+<edit-from><kill-line>Ryan Kavanagh <rak@debian.org><enter>' \
+"Send mail from Debian account"
+
+macro compose <Esc><F5> '<enter-command>set folder="imaps://imap.rak.ac/"<enter>\
+<edit-fcc><kill-line>=Sent<enter>\
+<enter-command>set sendmail="sendmail -oem -oi"<enter>\
+<edit-from><kill-line>Ryan Kavanagh <rak@rak.ac><enter>' \
+"Send mail from rak.ac"
+
+macro compose <F6> '<enter-command>set folder="imaps://mail.cs.mcgill.ca/"<enter>\
+<edit-fcc><kill-line>=INBOX.Sent<enter>\
+<enter-command>set sendmail="sendmail -oem -oi"<enter>\
+<edit-from><kill-line>Ryan Kavanagh <rkavanagh@cs.mcgill.ca><enter>' \
+"Send mail from McGill SOCS account"
+
+macro compose <Esc><F6> '<enter-command>set folder="imaps://ryan.kavanagh@mcgill.ca@outlook.office365.com"<enter>\
+<edit-fcc><kill-line><enter>\
+<edit-from><kill-line>Ryan Kavanagh <ryan.kavanagh@mcgill.ca><enter>' \
+"Send mail from McGill Staff account"
diff --git a/dot_config/neomutt/accounts/9rak.queensu.ca/folders.rc b/dot_config/neomutt/accounts/9rak.queensu.ca/folders.rc
new file mode 100644
index 0000000..2b552ff
--- /dev/null
+++ b/dot_config/neomutt/accounts/9rak.queensu.ca/folders.rc
@@ -0,0 +1,5 @@
+# vim: syntax=muttrc
+
+set mbox = '+Read'
+set postponed = '+Drafts'
+set record = '+Sent Items'
diff --git a/dot_config/neomutt/accounts/9rak.queensu.ca/format.rc b/dot_config/neomutt/accounts/9rak.queensu.ca/format.rc
new file mode 100644
index 0000000..4ab31f0
--- /dev/null
+++ b/dot_config/neomutt/accounts/9rak.queensu.ca/format.rc
@@ -0,0 +1,5 @@
+# vim: syntax=muttrc
+
+set pager_format = '-%Z-QUEENSU: %C/%m: %-20.20n %s%* -- (%P)'
+set compose_format = '-- QUEENSU: Compose [Approx. msg size: %l Atts: %a]%>-'
+set status_format = '-%r-QUEENSU: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l? %l?]---(%s/%S)-%>-(%P)---'
diff --git a/dot_config/neomutt/accounts/9rak.queensu.ca/main.rc b/dot_config/neomutt/accounts/9rak.queensu.ca/main.rc
new file mode 100644
index 0000000..49eab83
--- /dev/null
+++ b/dot_config/neomutt/accounts/9rak.queensu.ca/main.rc
@@ -0,0 +1,12 @@
+# vim: syntax=muttrc
+
+cd $XDG_CONFIG_HOME/neomutt/accounts/9rak.queensu.ca
+
+set folder = 'imaps://9rak@queensu.ca@outlook.office365.com'
+
+source folders.rc
+source read.rc
+source send.rc
+source format.rc
+
+cd
diff --git a/dot_config/neomutt/accounts/9rak.queensu.ca/private_read.rc.tmpl b/dot_config/neomutt/accounts/9rak.queensu.ca/private_read.rc.tmpl
new file mode 100644
index 0000000..407e643
--- /dev/null
+++ b/dot_config/neomutt/accounts/9rak.queensu.ca/private_read.rc.tmpl
@@ -0,0 +1,8 @@
+# vim: syntax=neomuttrc
+
+set imap_authenticators = 'xoauth2'
+set imap_oauth_refresh_command = '~/bin/mutt_oauth2.py --client-id="08162f7c-0fd2-4200-a84a-f25a4db0b584" --client-secret="TxRBilcHdC6WGBee]fs?QR:SJ8nI[g82" --encryption-pipe="cat" --decryption-pipe="cat" $XDG_CONFIG_HOME/neomutt/accounts/9rak.queensu.ca/xoauth2-token'
+set imap_passive = 'no'
+set imap_user = '9rak@queensu.ca'
+
+unset imap_pass
diff --git a/dot_config/neomutt/accounts/9rak.queensu.ca/send.rc b/dot_config/neomutt/accounts/9rak.queensu.ca/send.rc
new file mode 100644
index 0000000..8327f7e
--- /dev/null
+++ b/dot_config/neomutt/accounts/9rak.queensu.ca/send.rc
@@ -0,0 +1,10 @@
+# vim: syntax=muttrc
+
+set copy = yes
+set from = 'Ryan Kavanagh <ryan.kavanagh@queensu.ca>'
+set smtp_authenticators = 'xoauth2'
+set smtp_oauth_refresh_command = '~/bin/mutt_oauth2.py --client-id="08162f7c-0fd2-4200-a84a-f25a4db0b584" --client-secret="TxRBilcHdC6WGBee]fs?QR:SJ8nI[g82" --encryption-pipe="cat" --decryption-pipe="cat" $XDG_CONFIG_HOME/neomutt/accounts/9rak.queensu.ca/xoauth2-token'
+set smtp_url = 'smtp://9rak@queensu.ca@smtp.office365.com:587/'
+
+unset sendmail
+unset smtp_pass
diff --git a/dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/encrypted_alias.rc.asc b/dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/encrypted_alias.rc.asc
new file mode 100644
index 0000000..c67290c
--- /dev/null
+++ b/dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/encrypted_alias.rc.asc
@@ -0,0 +1,34 @@
+-----BEGIN PGP MESSAGE-----
+
+hQUMAwAAAAAAAAAAASf7Bq1aK8FzyB1Lk7RodUhugWmz/mTOXj2hSL/yCIUk7o79
+j1DrheMQx/IoAu9puepSZEo4rq126Zy97hKapOamPmBToupzUVV2hxgJ4Bo4z4Z3
+J+2eBl2D2yFmRZWu01I926CbK0TtYdVDA3RQfUmypSKFH5XXjUhR1p2QxDygiByt
+eGhzCxw0U3EIB55nt9cNMwLjWd0qZFFwGgTfBLDX+hfehYakuEXwjfRsLURBBsH2
+veuW0MnB1GNEKz3BGH0mD45evTI3KoNtheRSFPg5+MSB1P0R55rkqg0YHJGVpKQ2
+ci4hvb6KNSsQ9IMT77JFskNQOSKaTPbesto2HTZQMLC6rSqVem67Hj121je/iUNK
+4ihkNeSaTYkQ8WqsEDbjqmU0nhTkQU5nt+6VeCsRB+Ahli0iDdlh/t3P5o505TuQ
+Siqt35u3Rz8FGJswVGVpJh/tGJYz+HAPsjv4cT7WOWmA2hy3/YzyoCZUyyEXMOj6
++4c11fGIeqZs0tdo9PSRSY5f15bsGliRd7nju+aVn/r1fm3uAtPCfGbBVFofGX82
+/oixU5OunleZpmPj+HE0/B2zWZifXZAXh4AhjPn616HyZZfZOG7W9oQoRYD35wbx
+Oxl84gP8xhbmf8UD1tZ7DlrWdLgKnjrAXgZ/yix+nS6zIUuAhgcpfRr7pz78wGPf
+B9wBUHwx0vWs7M2pMqKTm08lCoGqMd2eXoCI1KOa92a6C42x0BH2VlXcjVKHn7/C
+1hExTz25W3HKaAGq5kuhndXy8VFYd+KHbvhMMp0GHzWsadjcwXqu65DHgjNZBZPi
+P2ifLP+uADdUmQ8CccfrYT4VLUCGaSzrBMvN/MGRnEm/8jL//Uzju7DPysq8xOL7
+/WqgyTxrI1b1cz/2Wv1aowZL9cLoPySd5cul3cdkx7BCPgWtyT/m4q+IKtF1PAnC
+SMaNLNKD2r+XGjnQMHFJzrwwbDXhp3IBB5f+iMAr7lT4wydZ8VGF+TNW14m3ax9l
+tONwO1QxCFs9e4BbhLv5/gXxIi7+qhk1qsrP379F8N01RyZiP2mhluLKkf7Hjetz
+QlHVk1eVV5Er+6GdU1tVqzbxRRDKDmsKiHT7RghdzvsVirUi2k6jTceXLco6DqWc
+kPyyJYNkHHN1vUDWKEYZO2m43pS+FauyDkX/u64363cyxBzwHYex+aFq7jTn7K1h
+VBAkZiApiYCGDmP4Th9BPk5EAEtcjz/xot/JUury/3K6W9s/5gvGvBJXey74pGQc
+TRiZUU6iLcm53FkDyHEs9j/F2BWmfAaWc8LpIj1sUqbg88k2zKgoYy4swruq4ybV
+7Ja6ogCJvaaSAl5RZcgcx+bPOHrMurjUWedtsW0YtShykqQRdf2cHzLlvzDs5FOm
+W9XZ6WwpDGKxYp0nDdAkGf2Tmy0IrCRqonBXraWmtE/7uEC1WflQKeL7c1g5glmy
+b2wJ5DY77UTZqkp9kpCqGCFQbsHVXrF7NGOoKvYBJBe6adYMDlKpPasAPas2fum5
+9jbmPvTBSE9bOKubU92H8ECaiL4Yo7KJUrpTABDwYgZRQYGCwrr+roKHxKtcU9Kt
+mUYx0OqT9hnKlggsRBiXVevssAlQ6euokHJm/xMDL4vUX/dvhq7X3IIf9lFLgiHR
+5VI1goEU8g4cbyhZYfwE5MQHt4us3C9dRKqbYhs7VTHgqFAMNKaRtjxBw4ATUtzS
+ewFs9pOILpgyL3tAXeBzeuRC5wsedICSjpDzgTTeA7jmUieKM/RYdXm0MIenbT+w
++mhvnYbadJbMMRptNJDMeaWMwgH7NPT2Go6pMCQQ+zCEWEyU/OpLBRqPBeCShNGX
++72rtlN8jHbLixW4hYgKMg/yvEwyl+rPppRUcA==
+=O65p
+-----END PGP MESSAGE-----
diff --git a/dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/folders.rc b/dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/folders.rc
new file mode 100644
index 0000000..2b552ff
--- /dev/null
+++ b/dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/folders.rc
@@ -0,0 +1,5 @@
+# vim: syntax=muttrc
+
+set mbox = '+Read'
+set postponed = '+Drafts'
+set record = '+Sent Items'
diff --git a/dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/format.rc.tmpl b/dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/format.rc.tmpl
new file mode 100644
index 0000000..b0d2ded
--- /dev/null
+++ b/dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/format.rc.tmpl
@@ -0,0 +1,9 @@
+# vim: syntax=muttrc
+
+set pager_format = '-%Z-UQAM: %C/%m: %-20.20n %s%* -- (%P)'
+set compose_format = '-- UQAM: Compose [Approx. msg size: %l Atts: %a]%>-'
+set status_format = '-%r-UQAM: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l? %l?]---(%s/%S)-%>-(%P)---'
+
+set attribution = "Le %d, %n a écrit:"
+set attribution_locale = "{{ if (eq .chezmoi.os "openbsd") }}fr_CA.UTF-8{{ else }}fr_CA.utf8{{ end }}"
+set date_format = "%a %d %b %Y à %I:%M:%S%p %Z"
diff --git a/dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/main.rc b/dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/main.rc
new file mode 100644
index 0000000..30b1dc6
--- /dev/null
+++ b/dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/main.rc
@@ -0,0 +1,12 @@
+# vim: syntax=muttrc
+
+cd $XDG_CONFIG_HOME/neomutt/accounts/kavanagh.ryan.uqam.ca
+
+set folder = 'imaps://kavanagh.ryan@uqam.ca@outlook.office365.com/'
+
+source folders.rc
+source read.rc
+source send.rc
+source format.rc
+
+cd
diff --git a/dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/read.rc b/dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/read.rc
new file mode 100644
index 0000000..fd74dfa
--- /dev/null
+++ b/dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/read.rc
@@ -0,0 +1,8 @@
+# vim: syntax=neomuttrc
+
+set imap_authenticators = 'xoauth2'
+set imap_oauth_refresh_command = "~/bin/mutt_oauth2.py --encryption-pipe='cat' --decryption-pipe='cat' `pwd`/xoauth2-token"
+set imap_passive = 'no'
+set imap_user = 'kavanagh.ryan@uqam.ca'
+
+unset imap_pass
diff --git a/dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/send.rc b/dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/send.rc
new file mode 100644
index 0000000..ac1f134
--- /dev/null
+++ b/dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/send.rc
@@ -0,0 +1,14 @@
+# vim: syntax=muttrc
+
+# Set copy to no so long as you use UQAM's smtp,
+# which automatically saves messages to $record
+set copy = no
+set from = 'Ryan Kavanagh <kavanagh.ryan@uqam.ca>'
+set smtp_authenticators = 'xoauth2'
+set smtp_oauth_refresh_command = "~/bin/mutt_oauth2.py --encryption-pipe='cat' --decryption-pipe='cat' `pwd`/xoauth2-token"
+set smtp_url = 'smtp://kavanagh.ryan@uqam.ca@smtp.office365.com:587/'
+
+set signature = "`pwd`/signature"
+
+unset sendmail
+unset smtp_pass
diff --git a/dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/signature b/dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/signature
new file mode 100644
index 0000000..90723cd
--- /dev/null
+++ b/dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/signature
@@ -0,0 +1,4 @@
+Ryan Kavanagh
+Professeur régulier au Département d'informatique
+Université du Québec à Montréal (UQAM)
+PK-4330
diff --git a/dot_config/neomutt/accounts/rak.rak.ac/encrypted_savehooks.rc.asc b/dot_config/neomutt/accounts/rak.rak.ac/encrypted_savehooks.rc.asc
new file mode 100644
index 0000000..00883ac
--- /dev/null
+++ b/dot_config/neomutt/accounts/rak.rak.ac/encrypted_savehooks.rc.asc
@@ -0,0 +1,40 @@
+-----BEGIN PGP MESSAGE-----
+
+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
+=MYsS
+-----END PGP MESSAGE-----
diff --git a/dot_config/neomutt/accounts/rak.rak.ac/folders.rc b/dot_config/neomutt/accounts/rak.rak.ac/folders.rc
new file mode 100644
index 0000000..334dd3f
--- /dev/null
+++ b/dot_config/neomutt/accounts/rak.rak.ac/folders.rc
@@ -0,0 +1,5 @@
+# vim: syntax=muttrc
+
+set mbox = '=RAK'
+set postponed = '=Drafts'
+set record = '=Sent'
diff --git a/dot_config/neomutt/accounts/rak.rak.ac/format.rc b/dot_config/neomutt/accounts/rak.rak.ac/format.rc
new file mode 100644
index 0000000..c27e52a
--- /dev/null
+++ b/dot_config/neomutt/accounts/rak.rak.ac/format.rc
@@ -0,0 +1,5 @@
+# vim: syntax=muttrc
+
+set pager_format = '-%Z-RAK.AC: %C/%m: %-20.20n %s%* -- (%P)'
+set compose_format = '-- RAK.AC: Compose [Approx. msg size: %l Atts: %a]%>-'
+set status_format = '-%r-RAK.AC: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l? %l?]---(%s/%S)-%>-(%P)---'
diff --git a/dot_config/neomutt/accounts/rak.rak.ac/main.rc b/dot_config/neomutt/accounts/rak.rak.ac/main.rc
new file mode 100644
index 0000000..35f044c
--- /dev/null
+++ b/dot_config/neomutt/accounts/rak.rak.ac/main.rc
@@ -0,0 +1,13 @@
+# vim: syntax=muttrc
+
+cd $XDG_CONFIG_HOME/neomutt/accounts/rak.rak.ac
+
+set folder = 'imaps://imap.rak.ac/'
+
+source folders.rc
+source read.rc
+source send.rc
+source format.rc
+source savehooks.rc
+
+cd
diff --git a/dot_config/neomutt/accounts/rak.rak.ac/private_read.rc.tmpl b/dot_config/neomutt/accounts/rak.rak.ac/private_read.rc.tmpl
new file mode 100644
index 0000000..6e061ff
--- /dev/null
+++ b/dot_config/neomutt/accounts/rak.rak.ac/private_read.rc.tmpl
@@ -0,0 +1,7 @@
+# vim: syntax=muttrc
+
+set imap_delim_chars = '/'
+{{- if .password.rakac }}
+set imap_pass = '{{ .password.rakac }}'
+{{- end }}
+set imap_user = 'rak'
diff --git a/dot_config/neomutt/accounts/rak.rak.ac/send.rc b/dot_config/neomutt/accounts/rak.rak.ac/send.rc
new file mode 100644
index 0000000..b8d61e1
--- /dev/null
+++ b/dot_config/neomutt/accounts/rak.rak.ac/send.rc
@@ -0,0 +1,8 @@
+# vim: syntax=muttrc
+
+set copy = yes
+set from = 'Ryan Kavanagh <rak@rak.ac>'
+set sendmail = 'sendmail -oem -oi'
+
+unset smtp_pass
+unset smtp_url
diff --git a/dot_config/neomutt/accounts/rkavanag.alumni.cmu.edu/encrypted_private_alias.rc.asc b/dot_config/neomutt/accounts/rkavanag.alumni.cmu.edu/encrypted_private_alias.rc.asc
new file mode 100644
index 0000000..c16c4f7
--- /dev/null
+++ b/dot_config/neomutt/accounts/rkavanag.alumni.cmu.edu/encrypted_private_alias.rc.asc
@@ -0,0 +1,113 @@
+-----BEGIN PGP MESSAGE-----
+
+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
+mULSPY0ohlsPCK8vRCRdUKR5
+=czBL
+-----END PGP MESSAGE-----
diff --git a/dot_config/neomutt/accounts/rkavanag.alumni.cmu.edu/folders.rc b/dot_config/neomutt/accounts/rkavanag.alumni.cmu.edu/folders.rc
new file mode 100644
index 0000000..6e8a041
--- /dev/null
+++ b/dot_config/neomutt/accounts/rkavanag.alumni.cmu.edu/folders.rc
@@ -0,0 +1,4 @@
+# vim: syntax=muttrc
+
+set mbox = '=Read'
+set record = '+[Gmail]/Sent Mail'
diff --git a/dot_config/neomutt/accounts/rkavanag.alumni.cmu.edu/format.rc b/dot_config/neomutt/accounts/rkavanag.alumni.cmu.edu/format.rc
new file mode 100644
index 0000000..1ef6580
--- /dev/null
+++ b/dot_config/neomutt/accounts/rkavanag.alumni.cmu.edu/format.rc
@@ -0,0 +1,5 @@
+# vim: syntax=muttrc
+
+set pager_format = '-%Z-CMU: %C/%m: %-20.20n %s%* -- (%P)'
+set compose_format = '-- CMU: Compose [Approx. msg size: %l Atts: %a]%>-'
+set status_format = '-%r-CMU: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l? %l?]---(%s/%S)-%>-(%P)---'
diff --git a/dot_config/neomutt/accounts/rkavanag.alumni.cmu.edu/main.rc b/dot_config/neomutt/accounts/rkavanag.alumni.cmu.edu/main.rc
new file mode 100644
index 0000000..967847d
--- /dev/null
+++ b/dot_config/neomutt/accounts/rkavanag.alumni.cmu.edu/main.rc
@@ -0,0 +1,12 @@
+# vim: syntax=muttrc
+
+cd $XDG_CONFIG_HOME/neomutt/accounts/rkavanag.alumni.cmu.edu
+
+set folder = 'imaps://rkavanag@alumni.cmu.edu@imap.gmail.com'
+
+source folders.rc
+source read.rc
+source send.rc
+source format.rc
+
+cd
diff --git a/dot_config/neomutt/accounts/rkavanag.alumni.cmu.edu/private_read.rc.tmpl b/dot_config/neomutt/accounts/rkavanag.alumni.cmu.edu/private_read.rc.tmpl
new file mode 100644
index 0000000..16febff
--- /dev/null
+++ b/dot_config/neomutt/accounts/rkavanag.alumni.cmu.edu/private_read.rc.tmpl
@@ -0,0 +1,8 @@
+# vim: syntax=muttrc
+
+set imap_keepalive = 60
+{{- if .password.cmu }}
+set imap_pass = '{{ .password.cmu }}'
+{{- end }}
+set imap_passive = 'no'
+set imap_user = 'rkavanag@alumni.cmu.edu'
diff --git a/dot_config/neomutt/accounts/rkavanag.alumni.cmu.edu/send.rc b/dot_config/neomutt/accounts/rkavanag.alumni.cmu.edu/send.rc
new file mode 100644
index 0000000..46640c2
--- /dev/null
+++ b/dot_config/neomutt/accounts/rkavanag.alumni.cmu.edu/send.rc
@@ -0,0 +1,8 @@
+# vim: syntax=muttrc
+
+set copy = no
+set from = 'Ryan Kavanagh <rkavanagh@cs.cmu.edu>'
+set sendmail = 'sendmail -oem -oi'
+
+unset smtp_pass
+unset smtp_url
diff --git a/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/encrypted_alias.rc.asc b/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/encrypted_alias.rc.asc
new file mode 100644
index 0000000..3acd49e
--- /dev/null
+++ b/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/encrypted_alias.rc.asc
@@ -0,0 +1,40 @@
+-----BEGIN PGP MESSAGE-----
+
+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
+e4Fo5B9ePsKEYcU=
+=7eze
+-----END PGP MESSAGE-----
diff --git a/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/folders.rc b/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/folders.rc
new file mode 100644
index 0000000..fab8acc
--- /dev/null
+++ b/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/folders.rc
@@ -0,0 +1,5 @@
+# vim: syntax=muttrc
+
+set mbox = '+INBOX/Read'
+set postponed = '+Drafts'
+set record = '+Sent Items'
diff --git a/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/format.rc b/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/format.rc
new file mode 100644
index 0000000..3d4c8fe
--- /dev/null
+++ b/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/format.rc
@@ -0,0 +1,5 @@
+# vim: syntax=muttrc
+
+set pager_format = '-%Z-MAIL.MCGILL.CA: %C/%m: %-20.20n %s%* -- (%P)'
+set compose_format = '-- MAIL.MCGILL.CA: Compose [Approx. msg size: %l Atts: %a]%>-'
+set status_format = '-%r-MAIL.MCGILL.CA: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l? %l?]---(%s/%S)-%>-(%P)---
diff --git a/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/main.rc b/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/main.rc
new file mode 100644
index 0000000..f3859a3
--- /dev/null
+++ b/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/main.rc
@@ -0,0 +1,12 @@
+# vim: syntax=muttrc
+
+cd $XDG_CONFIG_HOME/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/
+
+set folder = 'imaps://ryan.kavanagh@mail.mcgill.ca@outlook.office365.com/'
+
+source folders.rc
+source read.rc
+source send.rc
+source format.rc
+
+cd
diff --git a/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/read.rc b/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/read.rc
new file mode 100644
index 0000000..52c1101
--- /dev/null
+++ b/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/read.rc
@@ -0,0 +1,8 @@
+# vim: syntax=neomuttrc
+
+set imap_authenticators = 'xoauth2'
+set imap_oauth_refresh_command = '~/bin/mutt_oauth2.py --encryption-pipe="cat" --decryption-pipe="cat" $XDG_CONFIG_HOME/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/xoauth2-token'
+set imap_passive = 'no'
+set imap_user = 'ryan.kavanagh@mail.mcgill.ca'
+
+unset imap_pass
diff --git a/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/send.rc b/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/send.rc
new file mode 100644
index 0000000..fc5b2da
--- /dev/null
+++ b/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/send.rc
@@ -0,0 +1,8 @@
+# vim: syntax=muttrc
+
+set copy = yes
+set from = 'Ryan Kavanagh <rkavanagh@cs.mcgill.ca>'
+set sendmail = 'sendmail -oem -oi'
+
+unset smtp_pass
+unset smtp_url
diff --git a/dot_config/neomutt/accounts/ryanakca.gmail.com/encrypted_private_savehooks.rc.asc b/dot_config/neomutt/accounts/ryanakca.gmail.com/encrypted_private_savehooks.rc.asc
new file mode 100644
index 0000000..5b3bfaf
--- /dev/null
+++ b/dot_config/neomutt/accounts/ryanakca.gmail.com/encrypted_private_savehooks.rc.asc
@@ -0,0 +1,43 @@
+-----BEGIN PGP MESSAGE-----
+
+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
+CjMICIPoV2dg
+=IqD7
+-----END PGP MESSAGE-----
diff --git a/dot_config/neomutt/accounts/ryanakca.gmail.com/folders.rc b/dot_config/neomutt/accounts/ryanakca.gmail.com/folders.rc
new file mode 100644
index 0000000..60c24f2
--- /dev/null
+++ b/dot_config/neomutt/accounts/ryanakca.gmail.com/folders.rc
@@ -0,0 +1,8 @@
+# vim: syntax=muttrc
+
+set folder = 'imaps://ryanakca@gmail.com@imap.gmail.com'
+
+set postponed = '=[Google Mail]/Drafts'
+set record = '=[Google Mail]/Sent Mail'
+
+unset mbox
diff --git a/dot_config/neomutt/accounts/ryanakca.gmail.com/format.rc b/dot_config/neomutt/accounts/ryanakca.gmail.com/format.rc
new file mode 100644
index 0000000..1af2c3e
--- /dev/null
+++ b/dot_config/neomutt/accounts/ryanakca.gmail.com/format.rc
@@ -0,0 +1,5 @@
+# vim: syntax=muttrc
+
+set pager_format = '-%Z-GMAIL: %C/%m: %-20.20n %s%* -- (%P)'
+set compose_format = '-- GMAIL: Compose [Approx. msg size: %l Atts: %a]%>-'
+set status_format = '-%r-GMAIL: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l? %l?]---(%s/%S)-%>-(%P)---'
diff --git a/dot_config/neomutt/accounts/ryanakca.gmail.com/main.rc b/dot_config/neomutt/accounts/ryanakca.gmail.com/main.rc
new file mode 100644
index 0000000..53063fe
--- /dev/null
+++ b/dot_config/neomutt/accounts/ryanakca.gmail.com/main.rc
@@ -0,0 +1,11 @@
+# vim: syntax=muttrc
+
+cd $XDG_CONFIG_HOME/neomutt/accounts/ryanakca.gmail.com
+
+source folders.rc
+source read.rc
+source send.rc
+source format.rc
+source savehooks.rc
+
+cd
diff --git a/dot_config/neomutt/accounts/ryanakca.gmail.com/private_read.rc.tmpl b/dot_config/neomutt/accounts/ryanakca.gmail.com/private_read.rc.tmpl
new file mode 100644
index 0000000..837c2d5
--- /dev/null
+++ b/dot_config/neomutt/accounts/ryanakca.gmail.com/private_read.rc.tmpl
@@ -0,0 +1,7 @@
+# vim: syntax=muttrc
+
+{{- if .password.gmail }}
+set imap_pass = '{{ .password.gmail }}'
+{{- end }}
+set imap_passive = 'no'
+set imap_user = 'ryanakca@gmail.com'
diff --git a/dot_config/neomutt/accounts/ryanakca.gmail.com/send.rc b/dot_config/neomutt/accounts/ryanakca.gmail.com/send.rc
new file mode 100644
index 0000000..6df9cc1
--- /dev/null
+++ b/dot_config/neomutt/accounts/ryanakca.gmail.com/send.rc
@@ -0,0 +1,8 @@
+# vim: syntax=muttrc
+
+set copy = no
+set from = 'Ryan Kavanagh <ryanakca@gmail.com>'
+set sendmail = 'sendmail -oem -oi'
+
+unset smtp_pass
+unset smtp_url
diff --git a/dot_config/neomutt/color.rc b/dot_config/neomutt/color.rc
new file mode 100644
index 0000000..94e6817
--- /dev/null
+++ b/dot_config/neomutt/color.rc
@@ -0,0 +1,114 @@
+# Score coloring
+# We put this first since we want it overridden if required by the colors
+# below.
+
+# Various smilies and the like
+color body brightwhite default "<[Gg]>" # <g>
+color body brightwhite default "<[Bb][Gg]>" # <bg>
+color body brightwhite default " [;:]-*[})>{(<|]" # :-) etc...
+# *bold*
+color body brightblue default "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)"
+mono body bold "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)"
+# _underline_
+color body brightblue default "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)"
+mono body underline "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)"
+# /italic/ (Sometimes gets directory names)
+color body brightblue default "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)"
+mono body underline "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)"
+
+# gruvbox dark (contrast dark):
+
+# bg0 = 234
+# bg1 = 237
+# bg2 = 239
+# bg3 = 241
+# bg4 = 243
+#
+# gray = 245
+#
+# fg0 = 229
+# fg1 = 223
+# fg2 = 250
+# fg3 = 248
+# fg4 = 246
+#
+# red = 167
+# green = 142
+# yellow = 214
+# blue = 109
+# purple = 175
+# aqua = 108
+# orange = 208
+
+
+# See http://www.mutt.org/doc/manual/#color
+
+color attachment color109 default
+color bold color229 default
+color error color167 default
+color hdrdefault color246 default
+color indicator color223 color237
+color markers color243 default
+color normal color223 default
+color quoted color250 default
+color quoted1 color108 default
+color quoted2 color250 default
+color quoted3 color108 default
+color quoted4 color250 default
+color quoted5 color108 default
+color search color234 color208
+color signature color108 default
+color status color234 color250
+color tilde color243 default
+color tree color142 default
+color underline color223 color239
+
+color sidebar_divider color250 default
+color sidebar_new color142 default
+
+# Note that the the last matching pattern is the
+# one that gets used, so order matters
+color index color142 default ~N # new messages
+color index color108 default ~O # old messages
+color index color109 default ~P # message is from you (consults $alternates)
+color index color175 default ~Q # messages which have been replied to
+color index color167 default ~= # duplicate
+color index color234 color214 ~F # flagged messages
+color index color234 color223 ~T # tagged messages
+color index color234 color167 ~D # deleted messages
+
+color header color214 default "^(To|From):"
+color header color142 default "^Subject:"
+color header color108 default "^X-Spam-Status:"
+color header color108 default "^Received:"
+color header color108 default "^List-Id:"
+
+# BSD's regex has RE_DUP_MAX set to 255.
+color body color142 default "[a-z]{3,255}://[-a-zA-Z0-9@:%._\\+~#=/?&,]+"
+color body color142 default "[a-zA-Z]([-a-zA-Z0-9_]+\\.){2,255}[-a-zA-Z0-9_]{2,255}"
+color body color208 default "[-a-z_0-9.%$]+@[-a-z_0-9.]+\\.[-a-z][-a-z]+"
+color body color208 default "mailto:[-a-z_0-9.]+@[-a-z_0-9.]+"
+color body color234 color214 "[;:]-*[)>(<lt;|]"
+color body color229 default "\\*[- A-Za-z]+\\*"
+
+color body color214 default "^-.*PGP.*-*"
+color body color142 default "^gpg: Good signature from"
+color body color167 default "^gpg: Can't.*$"
+color body color214 default "^gpg: WARNING:.*$"
+color body color167 default "^gpg: BAD signature from"
+color body color167 default "^gpg: Note: This key has expired!"
+color body color214 default "^gpg: There is no indication that the signature belongs to the owner."
+color body color214 default "^gpg: can't handle these multiple signatures"
+color body color214 default "^gpg: signature verification suppressed"
+color body color214 default "^gpg: invalid node with packet of type"
+
+color body color142 default "^Good signature from:"
+color body color167 default "^.?BAD.? signature from:"
+color body color142 default "^Verification successful"
+color body color167 default "^Verification [^s][^[:space:]]*$"
+
+color compose header color223 default
+color compose security_encrypt color175 default
+color compose security_sign color109 default
+color compose security_both color142 default
+color compose security_none color208 default
diff --git a/dot_config/neomutt/encrypted_private_alias.rc.asc b/dot_config/neomutt/encrypted_private_alias.rc.asc
new file mode 100644
index 0000000..c6088ba
--- /dev/null
+++ b/dot_config/neomutt/encrypted_private_alias.rc.asc
@@ -0,0 +1,74 @@
+-----BEGIN PGP MESSAGE-----
+
+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
+=rL3g
+-----END PGP MESSAGE-----
diff --git a/dot_config/neomutt/gpg.rc b/dot_config/neomutt/gpg.rc
new file mode 100644
index 0000000..16c3534
--- /dev/null
+++ b/dot_config/neomutt/gpg.rc
@@ -0,0 +1,11 @@
+set crypt_use_gpgme = yes
+set crypt_autosign = yes
+set crypt_replyencrypt = yes
+set crypt_replysign = yes
+set crypt_replysignencrypted = yes
+set crypt_verify_sig = yes
+
+set pgp_sign_as=0x4E469519ED677734268FBD958F7BF8FC4A11C97A
+set pgp_default_key=0x4E469519ED677734268FBD958F7BF8FC4A11C97A
+set pgp_self_encrypt = yes
+set pgp_use_gpg_agent = yes
diff --git a/dot_config/neomutt/mailinglists.rc b/dot_config/neomutt/mailinglists.rc
new file mode 100644
index 0000000..a05be8f
--- /dev/null
+++ b/dot_config/neomutt/mailinglists.rc
@@ -0,0 +1,6 @@
+subscribe -group ml.cmu .*@lists.andrew.cmu.edu (cs-phd-students|pop-group|concertrg)@cs.cmu.edu
+subscribe -group ml.debian .*@.*lists.debian.org
+subscribe -group ml.openbsd (bugs|misc)@opensmtpd.org
+subscribe -group ml.opensmtpd misc@opensmtpd.org
+subscribe -group ml.ubuntu .*@.*lists.ubuntu.com
+subscribe -group ml.mcgill (complogic)@cs.mcgill.ca
diff --git a/dot_config/neomutt/neomuttrc.tmpl b/dot_config/neomutt/neomuttrc.tmpl
new file mode 100644
index 0000000..379312c
--- /dev/null
+++ b/dot_config/neomutt/neomuttrc.tmpl
@@ -0,0 +1,164 @@
+set realname = 'Ryan Kavanagh' # default: ''
+set use_from = yes
+set use_envelope_from = yes
+set reverse_name = yes
+set reverse_realname = no
+alternates "ryanakca@(gmail\\.com|kubuntu\\.org|ubuntu\\.com)|(ryan\\.kavanagh|9rak)@queensu\\.ca|rak@(debian\\.org|rak\\.ac|ryanak\\.ca)|rkavanag@((andrew|alumni|cs)\\.cmu\\.edu)|rkavanagh@cs\\.cmu\\.edu|ryan@cs\\.queensu\\.ca|ryank@cs\\.mcgill\.ca|ryan\\.kavanagh@(mail\\.)?mcgill\\.ca|rak@sdf\\.org"
+
+set crypt_autosign = yes # default: no
+set crypt_replysign = yes # default: no
+set crypt_replysignencrypted = yes # default: no
+
+set editor="vim"
+
+set pager_context = 1
+
+set send_charset="utf-8"
+
+set imap_check_subscribed = yes # default: no
+set imap_list_subscribed = yes # default: no
+
+# Don't continue to next email when reaching end of current
+set pager_stop = yes
+
+# Display HTML mail only if there's no text/plain
+alternative_order text/plain text/html *
+auto_view text/html
+set display_filter="~/bin/lbdb-fetchaddr-wrapper"
+
+set timeout=15
+set mail_check=60
+
+set move = no
+
+set header_cache="$XDG_CACHE_HOME/neomutt/headers"
+set message_cachedir="$XDG_CACHE_HOME/neomutt/bodies"
+
+set edit_headers = yes
+
+# Sane subject format when forwarding:
+set forward_format = "Fwd: %s"
+# Mime forwarding
+set mime_forward = ask-yes
+
+#set arrow_cursor
+#noop pager G
+bind index G imap-fetch-mail
+bind index ( next-unread-mailbox
+bind index * next-unread
+unbind index i
+bind pager i exit
+
+# To keep the macro .n from binding just .
+bind index . noop
+macro index .n "<tag-pattern>~N|~O<enter><tag-prefix-cond><tag-prefix><clear-flag>N<tag-prefix><clear-flag>O<untag-pattern>~T<enter>" "Catchup all new messages"
+
+my_hdr OpenPGP: id=4E469519ED677734268FBD958F7BF8FC4A11C97A\; url=https://rak.ac/contact/4E469519ED677734268FBD958F7BF8FC4A11C97A.asc\; preference=sign
+
+set use_threads=threads
+set sort_aux=last-date-received
+set move=no
+set mark_old=no
+ignore * # ignore all headers except for ...
+unignore date from to cc bcc subject
+hdr_order date from to cc bcc subject
+# MessageNo Mo Day (To if sent by me, from if sent to me) List [Flags (Hidden Messages/line count) Subject
+set index_format="%4C %{%m%d} %-16.16F [%Z] %?M?(#%03M)&(%4l)? %s"
+# Narrow / wide versions.
+macro index \cxn '<enter-command>set index_format="%4C %{%m%d} %-16.16F [%Z] %?M?(#%03M)&(%4l)? %s"<enter>'
+macro index \cxw '<enter-command>set index_format="%4C %{%y%m%d} %-16.16F %-15.15B [%Z] %?M?(#%03M)&(%4l)? %s"<enter>'
+
+set print_command="muttprint -2"
+
+set mark_old=yes
+
+set query_command="lbdbq %s"
+# set query_command = "abook --mutt-query '%s'"
+# macro generic,index,pager \ca "<shell-escape>abook<return>" "launch abook"
+# macro index,pager A "<pipe-message>abook --add-email-quiet<return>"
+set reverse_alias = yes
+set alias_file = "$XDG_CONFIG_HOME/neomutt/alias.rc"
+
+set ispell="aspell -e -c"
+
+# set up the sidebar, default not visible
+set mail_check_stats=yes
+set sidebar_visible = no
+set sidebar_short_path = yes
+set sidebar_folder_indent = yes
+set sidebar_width = 25
+set sidebar_format = "%B%?F? [%F]?%* %?N?%N?"
+set sidebar_divider_char = "┃"
+set sidebar_delim_chars = "/."
+set sidebar_non_empty_mailbox_only = yes
+set sidebar_sort_method = alpha
+# which # mailboxes to list in the sidebar
+# mailboxes =inbox =ml
+# color of folders with new mail
+
+# ctrl-n, ctrl-p to select next, prev folder #
+# ctrl-o to open selected folder
+bind index,pager \CP sidebar-prev
+bind index,pager \CN sidebar-next
+bind index,pager \CO sidebar-open
+
+# Remap bounce-message function to "B"
+bind index B bounce-message
+
+macro index b '<enter-command>toggle sidebar_visible<enter><refresh>'
+macro pager b '<enter-command>toggle sidebar_visible<enter><redraw-screen>'
+
+macro index \cb |urlscan\n
+macro pager \cb |urlscan\n
+macro index I 'c=INBOX<enter>'
+macro index x 'c=QueensU.INBOX<enter>'
+
+bind editor <space> noop
+
+unignore X-Label:
+
+set mbox_type=mbox
+
+# In case it's unset
+set sendmail="sendmail -oem -oi"
+
+set fcc_before_send=yes
+
+# For the -f option to work properly with account-hooks, it looks like I need
+# to unset the folder option
+unset folder
+# alias.rc before accounts.rc
+source "$XDG_CONFIG_HOME/neomutt/alias.rc"
+source "$XDG_CONFIG_HOME/neomutt/accounts.rc"
+source "$XDG_CONFIG_HOME/neomutt/mailinglists.rc"
+source "$XDG_CONFIG_HOME/neomutt/score.rc"
+source "$XDG_CONFIG_HOME/neomutt/color.rc"
+source "$XDG_CONFIG_HOME/neomutt/gpg.rc"
+source "$XDG_CONFIG_HOME/neomutt/news.rc"
+
+{{- if hasPrefix .chezmoi.homeDir "/sdf" }}
+set from = 'Ryan Kavanagh <rak@sdf.org>'
+{{- end }}
+
+# preserve messages-in-composition between restarts in case of a power failure.
+set tmpdir= "$XDG_STATE_HOME/neomutt"
+
+macro index <F7> \
+ "<enter-command>unset wait_key<enter><shell-escape>~/bin/mutt-fetchbug --prompt search<enter><change-folder-readonly>~/.cache/mutt_btsresults<enter><enter-command>set wait_key<enter>" \
+ "fetch bug(s) (using bts show)"
+macro index <F8> \
+ "<enter-command>unset wait_key<enter><shell-escape>~/bin/mutt-notmuch --prompt search<enter><change-folder-readonly>~/.cache/mutt_results<enter>" \
+ "search mail (using notmuch)"
+macro index <F9> \
+ "<enter-command>unset wait_key<enter><pipe-message>~/bin/mutt-notmuch thread<enter><change-folder-readonly>~/.cache/mutt_results<enter><enter-command>set wait_key<enter>" \
+ "search and reconstruct owning thread (using notmuch)"
+
+macro index <Esc>N \
+ "<limit>~(~N|~O)<enter>" \
+ "Show only threads with new/old messages"
+
+macro index <Esc>A \
+ "<limit>all<enter>" \
+ "Show all messages (remove limit)"
+
+# vim: set ft=neomuttrc:
diff --git a/dot_config/neomutt/news.rc b/dot_config/neomutt/news.rc
new file mode 100644
index 0000000..24d2b77
--- /dev/null
+++ b/dot_config/neomutt/news.rc
@@ -0,0 +1,71 @@
+# Example NeoMutt config file for the nntp feature.
+
+# --------------------------------------------------------------------------
+# VARIABLES - shown with their default values
+# --------------------------------------------------------------------------
+set ask_follow_up = no
+set ask_x_comment_to = no
+set catchup_newsgroup = ask-yes
+set followup_to_poster = ask-yes
+set group_index_format = '%4C %M%N %5s %-45.45f %d'
+set inews = ''
+set mime_subject = yes
+set newsgroups_charset = utf-8
+set newsrc = '~/.newsrc'
+set news_cache_dir = '$XDG_CONFIG_HOME/neomutt/cache/'
+set news_server = 'news.club.cc.cmu.edu'
+set nntp_authenticators = ''
+set nntp_context = 1000
+set nntp_listgroup = yes
+set nntp_load_description = yes
+set nntp_pass = ''
+set nntp_poll = 60
+set nntp_user = ''
+set post_moderated = ask-yes
+set save_unsubscribed = no
+set show_new_news = yes
+set show_only_unread = no
+set x_comment_to = no
+# --------------------------------------------------------------------------
+# FUNCTIONS - shown with an example mapping
+# --------------------------------------------------------------------------
+# mark all articles in newsgroup as read
+bind browser,index y catchup
+# open a different newsgroup
+bind index i change-newsgroup
+# edit the Followup-To field
+bind compose o edit-followup-to
+# edit the newsgroups list
+bind compose N edit-newsgroups
+# edit the X-Comment-To field
+bind compose x edit-x-comment-to
+# followup to newsgroup
+bind attach,index,pager F followup-message
+# post message to newsgroup
+bind index,pager P post-message
+# load list of all newsgroups from NNTP server
+bind browser g reload-active
+# subscribe to current mbox (IMAP/NNTP only)
+bind browser s subscribe
+# subscribe to newsgroups matching a pattern
+bind browser S subscribe-pattern
+# mark all articles in newsgroup as unread
+bind browser Y uncatchup
+# unsubscribe from current mbox (IMAP/NNTP only)
+bind browser u unsubscribe
+# unsubscribe from newsgroups matching a pattern
+bind browser U unsubscribe-pattern
+# open a different newsgroup in read only mode
+bind index,pager \ei change-newsgroup-readonly
+# forward to newsgroup
+bind attach,index,pager \eF forward-to-group
+# get all children of the current message
+# bind index ??? get-children
+# get parent of the current message
+bind index \eG get-parent
+# reconstruct thread containing current message
+# bind index ??? reconstruct-thread
+# get message with Message-Id
+bind index \CG get-message
+# --------------------------------------------------------------------------
+# vim: syntax=neomuttrc
diff --git a/dot_config/neomutt/score.rc b/dot_config/neomutt/score.rc
new file mode 100644
index 0000000..251fe26
--- /dev/null
+++ b/dot_config/neomutt/score.rc
@@ -0,0 +1,24 @@
+uncolor index *
+unscore *
+source $XDG_CONFIG_HOME/neomutt/color.rc
+# Set directly to me
+score "~p" 8
+# from me
+score "~P" 8
+# I replied to
+score "~Q" 10
+# GPG signed
+score "~g" 4
+# GPG encrypted
+score "~G" 4
+# Flagged
+score "~F" 5
+# Known ML
+score "~l" 2
+# Add a point to messages less than 80,000 bytes
+score "~z 0-80000" 1
+# From EG
+score "~f MUTT_20_SCORE" 20
+score "~f MUTT_10_SCORE" 10
+# Unread
+score "~U" 2
diff --git a/dot_config/private_borgmatic/encrypted_private_home.yaml.asc b/dot_config/private_borgmatic/encrypted_private_home.yaml.asc
index 50851de..0ad7237 100644
--- a/dot_config/private_borgmatic/encrypted_private_home.yaml.asc
+++ b/dot_config/private_borgmatic/encrypted_private_home.yaml.asc
@@ -1,39 +1,39 @@
-----BEGIN PGP MESSAGE-----
-hQUMAwAAAAAAAAAAASgAgymMEW5BfjXkS3JzoK7xYEEEjRVTuZdS/XZvIaBtYzW1
-6yuqevlCL5oXt+/TMgm5Zjl5N1/ShymMo+McPYxRnbrBN5ebFGzlR09QKmCEw7FW
-Il2heieqwSuXipPQXDG1K7bzDLUEr/5mWjqzzkzkWIp4WUe/kPfz8tkQkNcbdTaI
-FDlrG0DLUbC7+2Nl7BErYDl1rVPgu9NyGNTFGKK+oB6+J+mS2Dnm+q2q0xeq78Z/
-+agxvrMBfH6pja5tyzFi4PQKGEESRwFepoN2NsjTADZ6LRb/i0reZAUCP3z7414I
-DmjOrry6Prt3biL9PAGI962oNIf/aY+4kR3xbbdD7xnRAtHRTF1eTKVYJUM0Uh1m
-6GIW5xSxP6HgROsyJBTJAr49+/Wk7f4zeFfYnMRkIGrFQIorLJ6rubBsjrVGyO1I
-6RyvdKFsi3vaaRrp51ZX1yoMajqchIH/jnEWCA4Br8z5prCLHAMenn0vqn+Tz7tk
-wU5KW8DbyCxWteJzr08s+rXIA6NAX6uJD14/BVJWHXMSQZQf7sxjCdFCHt/uUY/u
-dcdpuQka/moRKP8RWSt2s0dbzqdHlDb19ZrQcpUbG6LBfKQRPfWmIRHjLhh5t6Tf
-celIMoz0RtRiCqNEfJ2kX9Qg+CU0ZkAV/AqHCj5lbVDcJ+rQbinXTmSl7nlgCUSu
-w/uAZWyv1L5hDXXYqurzZ7hDxIQUnhDEUx2XCjLAxTob7MymlTVEcLJAvJBo4nSx
-wHdvXx5mjdO/1L7xWg2Pa4Bsm2c73aW17VcXTKJfFeM2fol8JXOCo7uAdl5ZkyDY
-3BH9DZiEBH83l60tY8cITaNTIjyl8bgDnlSY0EkeNNqZzh67cGD9c6TjC0RCLPeG
-mMc64Gv2Y1ADQ/3M+sMyyUGjC5wUGg1SOdf1XZL8EgfuEA/m5f0GStlSFioRgJp4
-gQnGZDVT/WH96WsLGZr11PgWasB1D6PYZWhqxYdLTzMLRcFBN1miNAvk8nFle9d5
-W524JtDqWebErdpi5GbTlKotKGO6h0GbG/wCvAAjfuqr0BdGkQbxegpX0r9hgb5V
-QLkYGAfBvcILigGRhI7obDaxI0PaFyiVRtxWecclT0VOnMd6liyt2SLBZzbF1mQi
-wgy3Eld9Iu6+5MduF62wxGVlTVf2sTZJ/FlniR1nWrugkY34euCziWGq0ZoFSrtT
-c/ckXQHF6sAQpeCiSjDaPqUvCH4yHLnsxjv2vkpSCld3bTIoIMdphOOC2P7maHN1
-s8pSXYD8woTr5bvCEcu5cC3sCbdusKXh0CAkxCywkxFtOUmoW3+LB0fPcXIvQ4ak
-IJolvu6p6T8WFDzHHjZ5BGpR7M0ZMkbRMqOllyl5kHikQmp3dKf2exBadl7wjOCc
-TTQoFnVBLXsrv2Xl1iBxt5HswZLwev3zd4JOPkh6TKyh/gASJluVYde8Ng3mMm7s
-c20JIZ3y+32jB2KKf1iTNFBE788KoOiGXlZrpxbwo8tZQNbBSqldwYHdgdvvQKrp
-+MqGRkLM5vHAXJOT1x3FO++ONETK4yWjyrAobtIBJaYVAiNWLJIBNOKm+GLd3DC4
-X1V399YqH7F+eUMVQ+YWi6LlOZOd3RkO4i05iSg8FCCJ76zeEEUpfEYmkD8GQvTh
-hAsKUKqdcQf6twTcpqMgLxuMYTwMzGgLgNVzDdr3fywbTjFY/q6hDlEhuMFDdMjS
-wJ4BdIQ0gRkKR0wnw3meNXNJCBEmX/cFOb07PibSLGRs5THtq0NIlZG0x6e4KVIF
-C1F5hQNg5pvUkNXM6CM4Xr3KbJWCifIQ0Kvpc9SXRx+MU6iUfCL0ZW+SSF7epyoZ
-ilkefXCRJxyLszpaPa40Srb30fa6jH906JGs2hSBu6XQ7v9wMrNn91el4UGllRU2
-1m65a8WCu0qhjsv9Df+B6YEsg4m+50gJ9KbhoVhlnVVMvjMERhsr1GnOw/+YlQdN
-VoTGjPA4MydH0YP/F1xXuJj3ZKmQhUns9XhabaQeSB4BBaKYR9zpWq//hxIERhkS
-Xj7jWF0eQpNvg1V2qS6WTtx+o+JdaX8D4T6HR2RrLL5tTF/LQ2KNOgbAqF6wNox4
-F1oenuAHdezdWXBRAKiAgQrTeKQEMz0F6Ei5HHHbX60dDOv6bmKE/jGGUCn/Ug1K
-KhoNgrhqi7h2qMi0Eulhng==
-=ur1G
+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
+oR8eoV+HE0iucJMTlgII3zs=
+=6vVr
-----END PGP MESSAGE-----
diff --git a/dot_config/sh/aliases b/dot_config/sh/aliases
new file mode 100644
index 0000000..f96d5d7
--- /dev/null
+++ b/dot_config/sh/aliases
@@ -0,0 +1,49 @@
+alias apt-upgrade='sudo apt-get update && sudo apt-get dist-upgrade'
+
+alias 1920s='mplayer -playlist http://kara.fast-serv.com:8398/listen.pls'
+alias dismuke='mplayer -playlist https://early1900s.org/radiodismuke/radiodismuke.pls'
+alias wzum='mplayer http://pubmusic.streamguys1.com/wzum-aac'
+
+alias mplayer-fb='mplayer -vo fbdev'
+alias links2-fb='links2 -driver fb'
+
+alias itp='reportbug -M -B debian --email rak@debian.org --paranoid -K $GPGKEY wnpp'
+alias gibuild='gbp buildpackage --git-builder="sbuild -sAd u"'
+alias gibuildi='gbp buildpackage --git-ignore-new --git-builder="sbuild -sAd u"'
+alias dquilt="quilt --quiltrc=${HOME}/.quiltrc-dpkg"
+
+alias vi='vim'
+
+alias sm='tmux attach -t mail || tmux -f ${HOME}/.tmux-mail.conf attach -t mail'
+alias sshfw='ssh -oForwardAgent=yes'
+
+alias llocate="locate -d ${XDG_STATE_HOME}/plocate/home.db"
+
+# Alias/custom commands
+#
+# Many of these options don's exist on BSD rm/cp/mkdir/ln/etc.
+#
+# Some are just in case - for 'rm', 'cp' and 'mv' - ask about overwriting or
+# deleting files.
+# Furthermore, be verbose about what each command is performing to be present of
+# what is occuring every time.
+if [[ `uname` = "Linux" ]]; then
+ alias cp="cp -iv"
+ alias mkdir="mkdir -v"
+ alias mv="mv -iv"
+ alias ln="ln -v"
+ # Only delete files on the current file system to avoid removing recursively
+ # from bind mounts.
+ alias rm="rm -iv --one-file-system"
+
+ alias grep="grep --colour=auto"
+
+ alias chown="chown -v"
+ alias chmod="chmod -v"
+ alias ls="ls --classify --color=always" # Add all colours and
+ # have fancy symbols for files, etc.
+elif [[ `uname` = "OpenBSD" && -x /usr/local/bin/colorls ]]; then
+ alias ls="colorls -G"
+fi
+
+# vim: set ft=sh:
diff --git a/dot_config/sh/locale b/dot_config/sh/locale
new file mode 100644
index 0000000..f9dda6c
--- /dev/null
+++ b/dot_config/sh/locale
@@ -0,0 +1,10 @@
+if ! export LANG=$(locale -a | grep -E -i "en_CA.UTF-?8"); then
+ if ! export LANG=$(locale -a | grep -E -i "C.UTF-?8"); then
+ export LANG=C
+ fi
+fi
+
+export LC_TIME="en_GB.UTF-8"
+export LC_COLLATE=C # force strict lexicographic sorting
+
+# vim: set ft=sh:
diff --git a/dot_config/sh/xdg-base-dirs b/dot_config/sh/xdg-base-dirs
new file mode 100644
index 0000000..18acb96
--- /dev/null
+++ b/dot_config/sh/xdg-base-dirs
@@ -0,0 +1,4 @@
+export XDG_CACHE_HOME="${HOME}/.cache"
+export XDG_CONFIG_HOME="${HOME}/.config"
+export XDG_DATA_HOME="${HOME}/.local/share"
+export XDG_STATE_HOME="${HOME}/.local/state"
diff --git a/dot_config/systemd/user/borgmatic@tosh.service.wants/symlink_backup-email@mail.cs.mcgill.ca.service b/dot_config/systemd/user/borgmatic@tosh.service.wants/symlink_backup-email@mail.cs.mcgill.ca.service
deleted file mode 100644
index ef74119..0000000
--- a/dot_config/systemd/user/borgmatic@tosh.service.wants/symlink_backup-email@mail.cs.mcgill.ca.service
+++ /dev/null
@@ -1 +0,0 @@
-../backup-email@.service