diff options
Diffstat (limited to 'Doom/.config/doom/modules/private/mail')
-rw-r--r-- | Doom/.config/doom/modules/private/mail/autoload.el | 19 | ||||
-rw-r--r-- | Doom/.config/doom/modules/private/mail/config.el | 33 | ||||
-rw-r--r-- | Doom/.config/doom/modules/private/mail/packages.el | 4 |
3 files changed, 56 insertions, 0 deletions
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) |