Hacker News new | ask | show | jobs
by autopoiesis 2818 days ago
How does this compare to using notmuch-emacs? And can someone say whether notmuch or mu is preferable these days?
2 comments

I have extensively used both, and spent some time using Gnus too. Plus a lot of time on Mutt.

In my opinion, Notmuch is better than Mu because it has a really neat architecture that allows customizing it to embrace any possible email workflow with a few trivial Bash commands.

Notmuch is purely tag based. It will never ever modify your mailbox. It's your task to map tags to imperative mailbox actions (delete, move...) using some shell hooks. Most workflows can be trivially implemented by calling the notmuch backend and piping the output to mv or rm using xargs or parallel.

Since searching in Notmuch is really quick, I recommend never manually assigning tags and tagging everything with rules written in the backend for those repetitive searches that you want a shortcut for. This is not specific to Notmuch, but also applies to Mu.

Mu has a hybrid tag/folder model, and the interface resembles Mutt in some ways. The other key difference with Notmuch is that Mu stores tags using a special header in each message. Notmuch uses a separate database, which is not synced across computers (unless you rsync it explicitly). I prefer the latter approach, as modifying your mailbox to store tags is a bit ugly and slow. I also favor not tagging things manually, but using rules. Then syncing tags becomes unnecessary.

Thanks for the comparison. I'm wondering what the benefits of mu4e are over notmuch (your comment doesn't list any - which makes sense because you preferred notmuch).

The reason I ask: When I look around, I tend to see a lot more references to mu4e than to notmuch. Is it just easier to start with, or does it actually have some nicer features that notmuch doesn't?

Not sure if it's relevant, but: I download all emails and do not want to sync with the server.

A case for mu: it is NOT tag-based, which is a feature: it can work with normal IMAP, and thus other email clients that aren't mu can look at that mailbox, and have all the data. Notmuch's tags do NOT live in IMAP (as far as I know), so if your workflow relies on them, you get annoyed if you ever look at your mailbox in any other way.

With mu, you just do the normal thing: instead of tagging a message as "x", you put it in folder "x". Clearly this breaks down if you want to apply more than one tag to a message, but this hasn't been an issue for me in the 20+ years I've been using email.

Before I read this, I had no idea that mu even did any tag-based anything.

That's not true. You can still have Notmuch to play well with other mail clients. You simply need to work out a good mapping between tags and folders, which is trivial.

IMAP only supports a few tags: read, unread... But not custom ones.

The only possible scenario where Mu is better than Notmuch is where you have many many custom tags and you want them to be perfectly synced across Emacs instances in different computers. Since Mu stores them in messages, this is very easy. With Notmuch, you'll need to separately sync the database. E.g. by rsyncing it.

But note that other clients won't understand these tags.

People typically use Mu because Notmuch was not very well documented. So the typical newbie came to Notmuch, found no way to delete a message and got frustrated.

I think there is more or less feature parity.

However, out of the Emacs world, Notmuch is very very popular as a Mutt search backend.

Does notmuch handle calendar invite indexing and tracking?
I don't have a lot of experience with mu, but I went with notmuch and have really liked it. It reminds me a lot of the standard gmail interface.