about summary refs log tree commit diff
path: root/init/mail-setup.el
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2018-06-06T08·24+0200
committerVincent Ambo <mail@tazj.in>2018-06-06T08·29+0200
commit4f64ab29423e81748cf179e6dab4fc049bb7a803 (patch)
tree63214cc847cdd7952c73c13d1712012bbd72c59d /init/mail-setup.el
parent0806463a004de5258640664280b69b1118c624b2 (diff)
chore(mail): Rename file to match provides
Diffstat (limited to 'init/mail-setup.el')
-rw-r--r--init/mail-setup.el53
1 files changed, 53 insertions, 0 deletions
diff --git a/init/mail-setup.el b/init/mail-setup.el
new file mode 100644
index 000000000000..ecc6aa4648e9
--- /dev/null
+++ b/init/mail-setup.el
@@ -0,0 +1,53 @@
+(require 'notmuch)
+
+(global-set-key (kbd "C-c m") 'notmuch-hello)
+(global-set-key (kbd "C-c C-e n") 'notmuch-mua-new-mail)
+
+(setq notmuch-cache-dir "~/.cache/notmuch")
+(make-directory notmuch-cache-dir t)
+
+;; Mark things as read when archiving them:
+(setq notmuch-archive-tags '("-inbox" "-unread" "+archive"))
+
+;; Cache addresses for completion:
+(setq notmuch-address-save-filename (concat notmuch-cache-dir "/addresses"))
+
+;; Don't spam my home folder with drafts:
+(setq notmuch-draft-folder notmuch-cache-dir)
+
+;; Show me saved searches that I care about:
+(setq notmuch-saved-searches
+      '((:name "inbox" :query "tag:inbox" :key "i")
+        (:name "gitlab" :query "tag:gitlab" :key "g")
+        (:name "sent" :query "tag:sent" :key "t")
+        (:name "drafts" :query "tag:draft" :key "d")))
+(setq notmuch-show-empty-saved-searches t)
+
+;; Mail sending configuration
+(setq notmuch-always-prompt-for-sender t)
+(setq notmuch-mua-user-agent-function
+      (lambda () (format "Emacs %s; notmuch.el %s" emacs-version notmuch-emacs-version)))
+
+;; Ensure sender is correctly passed to msmtp
+(setq mail-specify-envelope-from t
+      message-sendmail-envelope-from 'header
+      mail-envelope-from 'header)
+
+;; Store sent mail in the correct folder per account
+(setq notmuch-maildir-use-notmuch-insert nil)
+(setq notmuch-fcc-dirs '(("mail@tazj.in" . "tazjin/Sent")
+                         ;; Not a mistake, Office365 apparently
+                         ;; renames IMAP folders (!) to your local
+                         ;; language instead of providing translations
+                         ;; in the UI m(
+                         ("vincent@aprila.no" . "aprila/Sende element")))
+
+;; MSMTP decrypts passwords using pass, but pinentry doesn't work
+;; correctly in that setup. This forces a warmup of the GPG agent
+;; before sending the message.
+;;
+;; Note that the sending function is advised because the provided hook
+;; for this seems to run at the wrong time.
+(advice-add 'notmuch-mua-send-common :before 'warmup-gpg-agent)
+
+(provide 'mail-setup)