("el" . "src emacs-lisp")
("git" . "src conf :tangle ~/.gitconfig")
("gp" . "src conf :tangle ~/.gnupg/gpg.conf")
+ ("mb" . "src conf :tangle ~/.mbsyncrc")
("pi" . "src conf :tangle ~/.config/picom/picom.conf")
("sp" . "src conf :tangle ~/.spectrwm.conf")
("tm" . "src conf :tangle ~/.tmux.conf")
:bind (:map elfeed-search-mode-map ("C-c C-o" . 'elfeed-show-visit)))
#+end_src
** Email
-Use mu4e for reading emails.
+Use mu4e and mbsync for reading emails.
+
Contexts are a not very well known feature of mu4e that makes it super easy to manage multiple accounts. Much better than some of the hacky methods and external packages that I've seen.
-*** TODO Switch to mbsync
-=offlineimap= really crappy (slow and requires python2), and I need to replace it with =mbsync=.
-*** TODO Include mbsync/offlineimap config
-*** TODO Split up and document this config a bit
-*** Setup
+*** mbsync
+**** General
+#+begin_src conf :tangle ~/.mbsyncrc
+ Create Near
+ Expunge Both
+ SyncState *
+#+end_src
+**** Personal
+#+begin_src conf :tangle ~/.mbsyncrc
+ IMAPStore personal-remote
+ Host imap.mailbox.org
+ User me@armaanb.net
+ PassCmd "pash show login.mailbox.org/me@armaanb.net | head -n 1"
+
+ MaildirStore personal-local
+ Path ~/mail/personal/
+ Inbox ~/mail/personal/Inbox
+ Subfolders Verbatim
+
+ Channel personal-channel
+ Far :personal-remote:
+ Near :personal-local:
+ Patterns "INBOX*" "Drafts" "Archive" "Sent" "Trash"
+
+ Group personal
+ Channel personal-channel
+#+end_src
+**** School
+#+begin_src conf :tangle ~/.mbsyncrc
+ IMAPStore school-remote
+ SSLType IMAPS
+ Host imap.gmail.com
+ User abhojwani22@nobles.edu
+ PassCmd "pash show gmail-otp/abhojwani22@nobles.edu | head -n 1"
+
+ MaildirStore school-local
+ Path ~/mail/school/
+ Inbox ~/mail/school/Inbox
+ Subfolders Verbatim
+
+ Channel school-channel
+ Far :school-remote:
+ Near :school-local:
+ Patterns * ![Gmail]* "[Gmail]/Sent Mail" "[Gmail]/All Mail"
+
+ Group school
+ Channel school-channel
+#+end_src
+*** mu4e
+**** Setup
#+begin_src emacs-lisp
(use-package smtpmail
:straight (:type built-in))
smtpmail-stream-type 'ssl
smtpmail-smtp-service '465
mu4e-change-filenames-when-moving t
- mu4e-get-mail-command "offlineimap -q"
+ mu4e-get-mail-command "mbsync -a"
message-citation-line-format "On %a %d %b %Y at %R, %f wrote:\n"
message-citation-line-function 'message-insert-formatted-citation-line
mu4e-completing-read-function 'ivy-completing-read
(smtpmail-smtp-server . "smtp.mailbox.org")))))
(add-to-list 'mu4e-bookmarks
'(:name "Unified inbox"
- :query "maildir:\"/personal/INBOX\" or maildir:\"/school/INBOX\""
+ :query "maildir:\"/personal/Inbox\" or maildir:\"/school/Inbox\""
:key ?b))
:hook ((mu4e-compose-mode . flyspell-mode)
(message-send-hook . (lambda () (unless (yes-or-no-p "Ya sure 'bout that?")
(signal 'quit nil))))))
#+end_src
-*** Discourage Gnus from displaying HTML emails
+**** Discourage Gnus from displaying HTML emails
#+begin_src emacs-lisp
(with-eval-after-load "mm-decode"
(add-to-list 'mm-discouraged-alternatives "text/html")