#+SETUPFILE: ../../../template/level-2.org
#+TITLE: E-Mail is hard 2
#+DATE: <2021-11-06 Sat 13:21>
#+AUTHOR: vaeringjar
#+EMAIL: vaeringjar@land
#+DESCRIPTION: Revisiting e-mail clients again.
#+KEYWORDS: config email e-mail


* E-Mail

I have strattled the terminal and GUI for e-mail for a while
now. About two years ago, I think, I simplified my emacs dotfiles by
migrating away from gnus and erc (I think I have written about this
before in previous posts). Moving from erc to irssi was easy. And
though leaving gnus significantly improved the performance of emacs on
my machine and reduced the size of my config, I never finished
migrating to mutt.

So, I want to point out that there seems to be a bit of trash talking
with some of the extended email community for projects listed or not
listed below. I don't want to have anything to do with any of that. I
just want something that works. And I'm not going to put down anyone
as a person. So if someone wrote some code I have linked to either
here or in previous posts, it was not my intention to direct anyone to
any kind of drama. Please accept my apology in advance.

In addition to that, some terminology in some of these tools
definitely falls into the deprecated language category, even pre-2020
for folks who were living under a rock. Again, please accept my
apology in advance.

That said, I have my eyes on the following projects and tutorials
right now.

- https://jonathanh.co.uk/blog/mutt-setup.html
- https://github.com/soywod/himalaya
- https://aerc-mail.org/
- https://github.com/OfflineIMAP/offlineimap3
- https://github.com/LukeSmithxyz/mutt-wizard/

Jonathan Hodgson's mutt setup post is probably one of the best I've
read, and defintely better than anything I've blogged about. On
debian, just to list those packages I do this:

#+BEGIN_SRC bash

apt list abook isync msmtp mutt neomutt notmuch

#+END_SRC


** aerc

Over all, Drew Devault's aerc seems like the most exciting project,
though I don't yet feel ready to migrate to it from mutt. Explicit
support for managing patches within email sounds like an awesome idea,
especially for some folks I know personally who have an aversion to
using git. I'm currently waiting for a few more features, such as
notmuch added with the new-account step.


** What I really want it to do

That said, what I want, is to either be able to procedurally configure
the mail client or save the majority of that configuration in my
dotfiles. I want as little manual steps as possible. If I could keep a
template config file with masks for PII that are non-secrets (such as
my exact mail host or the directory structure) that I replace with a
value from pass, that seems like a win.

I have a lot of email accounts, so I can't have a small static limit
like with mutt-wizard.

I have an older version my my mutt dotfiles shared on notabug (called
dotmuttfiles). That allowed sourcing a new file depending on a quickly
hacked together shell script to pick the next account. Personally, I'd
rather not mutate the state of mutt like that. In newer versions, I've
removed that feature and I've introduced some secrets/PII, though, so
that version has gone stale. I've updated my dotfiles with a template
for mutt and mybsync for now. It has minimal configuration values,
with a couple of exceptions just in case different versions have
different values. I also added a stub muttrc so running as the system
user remains the default. For now I have just one mbsync dotfile and
one muttrc for each account. Then I just do something like this:

#+BEGIN_SRC bash

mbsync foo-inbox
mutt -F ~/.mutt/muttrc_my_foo_account

#+END_SRC


* Emacs dotfiles

I have a few known issues with my emacs dotfiles. Some commands only
work in the windowed emacs such as iedit's default section command C-;
or anything I use with the super key. Some packages break when running
a different env (ispell). Of course, some of these might work fine in
a newer version of emacs.


* Reading

- https://www.reddit.com/r/DMAcademy/comments/5zwwf6/two_weapon_fighting_and_hunters_mark/
- https://muttmua.gitlab.io/mutt/manual-dev.html#variables
- https://gitlab.com/muttmua/mutt/-/wikis/MuttGuide/Actions
- https://gitlab.com/muttmua/mutt/-/wikis/MuttGuide/UseGPG
- http://www.mutt.org/doc/manual/
- https://rakhim.org/fastmail-setup-with-emacs-mu4e-and-mbsync-on-macos/
- https://neomutt.org/guide/reference
- https://unix.stackexchange.com/a/63887
