From 9e9435c00c06ea4bf989da9fa362060d401df648 Mon Sep 17 00:00:00 2001 From: dx Date: Mon, 20 Jul 2020 21:15:35 +0100 Subject: +my own mail config Using authinfo.gpg, notmuch and offlineimap to manage my mail. I now have my own server @ aryadevchavali.com, so I setup a mail server hosted on mail.aryadevchavali.com. This config manages the emacs side of things, I'll add my offlineimaprc later --- Doom/.config/doom/modules/private/mail/autoload.el | 19 +++++++++++++ Doom/.config/doom/modules/private/mail/config.el | 33 ++++++++++++++++++++++ Doom/.config/doom/modules/private/mail/packages.el | 4 +++ 3 files changed, 56 insertions(+) create mode 100644 Doom/.config/doom/modules/private/mail/autoload.el create mode 100644 Doom/.config/doom/modules/private/mail/config.el create mode 100644 Doom/.config/doom/modules/private/mail/packages.el (limited to 'Doom/.config/doom/modules') diff --git a/Doom/.config/doom/modules/private/mail/autoload.el b/Doom/.config/doom/modules/private/mail/autoload.el new file mode 100644 index 0000000..13a79f9 --- /dev/null +++ b/Doom/.config/doom/modules/private/mail/autoload.el @@ -0,0 +1,19 @@ +;;; private/mail/autoload.el -*- lexical-binding: t; -*- + +;;;###autoload +(defun +mail/open-mail () + "Activate (or switch to) `notmuch' in its workspace." + (interactive) + (unless (featurep! :ui workspaces) + (user-error ":ui workspaces is required, but disabled")) + (condition-case-unless-debug e + (progn + (+workspace-switch "*MAIL*" t) + (if-let* ((buf (cl-find-if (lambda (it) (string-match-p "^\\*notmuch" (buffer-name (window-buffer it)))) + (doom-visible-windows)))) + (select-window (get-buffer-window buf)) + (notmuch-search "tag:inbox")) + (+workspace/display)) + ('error + (+notmuch/quit) + (signal (car e) (cdr e))))) diff --git a/Doom/.config/doom/modules/private/mail/config.el b/Doom/.config/doom/modules/private/mail/config.el new file mode 100644 index 0000000..25c9102 --- /dev/null +++ b/Doom/.config/doom/modules/private/mail/config.el @@ -0,0 +1,33 @@ +;;; private/mail/config.el -*- lexical-binding: t; -*- +(defconst +mail/signature + "--------------- +Aryadev Chavali") + +(use-package notmuch + :commands notmuch + :config + (setq notmuch-show-logo nil + message-signature +mail/signature + mail-signature +mail/signature) + + (defun +mail/sync-mail() + (interactive) + (start-process "imap-call" "*offlineimap*" "offlineimap" '("-oq"))) + + (map! + (:leader + "om" #'+mail/open-mail) + :map (notmuch-hello-mode-map notmuch-tree-mode-map notmuch-show-mode-map) + "u" #'notmuch-poll-and-refresh-this-buffer + "gS" #'+mail/sync-mail)) + +(use-package smtpmail + :commands mail-send + :after notmuch + :init + (setq smtpmail-smtp-server "mail.aryadevchavali.com" + send-mail-function 'smtpmail-send-it + message-send-mail-function 'smtpmail-send-it + smtpmail-smtp-user "aryadev" + smtpmail-smtp-service 587 + smtpmail-stream-type 'starttls)) diff --git a/Doom/.config/doom/modules/private/mail/packages.el b/Doom/.config/doom/modules/private/mail/packages.el new file mode 100644 index 0000000..e084e30 --- /dev/null +++ b/Doom/.config/doom/modules/private/mail/packages.el @@ -0,0 +1,4 @@ +;; -*- no-byte-compile: t; -*- +;;; private/mail/packages.el + +(package! notmuch) -- cgit v1.2.3-13-gbd6f