[kwlug-disc] Mail/PIM on the Command Line

Chris Irwin chris at chrisirwin.ca
Wed Dec 2 15:53:21 EST 2015


I've been living a personal experiment, and due to the recent discussion
of Mutt/notmuch in the thunderbird thread, I thought it might be time
to share.

If anybody would be interested in a talk on this (or just a lengthy blog
post/rant), chime in.

Basically, my goal was:

    * CLI on my computers.
    * Sync between hosts. I don't want local-only anything
    * Standards-preferred, as it increases the likelyhood of finding
      compatible bits on various platforms.
    * Minimal annoyance day to day
    * Sync with android. I want equal parts 1985 and 2015. :)

Minimal annoyance means occasionally handling emails with URLs, images,
HTML-only mail, etc.

Android was (and still is) the the source of most of my frustration with
this entire setup, as it was not made with standards as a priority (or
even out-of-box possibility).

In the end, I'm directly interacting with these tools:

    * Mutt    for Mail
    * notmuch for Mail indexing/searching
    * Khard   for Contacts
    * Khal    for Calendar
    * Todoman for ToDo

There was some configuration required to tell mutt to exec khard when
looking for aliases, etc. But for the most part they are separate and
independent programs that are used on their own. Which is ideal.

This also required the following tools behind the scenes:

    * iSync/MBsync for IMAP <-> maildir
    * vdirsyncer   for CardDAV <-> vdir (like maildir for vcard files)
    * vdirsyncer   for CalDAV <-> vdir (like maildir for ics files)
    * git          for doubling my storage requirements

Also required were the following apps on android:

    * CalDAV-Sync
    * CardDAV-Sync
    * OpenTasks

Finally, to round off the ever growing list of software requirements,
I'm self hosting my *DAV (but not my mail... yet)

    * Baïkal CardDAV/CalDAV server
    * DAVMail (but only at work) for Exchange to IMAP/CardDAV/CalDAV

I'm at a point where I'm somewhat generally pleased with this. Speed is
excellent, because everything is always local. Everything is synced
using standards (yay) so that all platforms can integrate. Sorting
through the massive amount of email I receive daily is as quick and
painless as possible (which is still time consuming and a pain. But less
so than click & drag)

However, there are still some weak points.

    * I have no idea if calendar invites are received (or even sent?)
    * I need to remember to sync my changes (this is a choice, but
      annoying if I forget)
    * Android does not lend itself to nicely using non-google sources of
      data in any way, shape, or form
    * Calendar subscriptions (ex: London garbage schedule) are harder
      than when I was using Google Calendar
    * CalDAV tasks suck. I'm thinking about jumping to TaskWarrior. It's
      not a "standard", but it is on all platforms I care about.
    * No notes currently.

Anyway, I thought I'd throw this out there. If there is any interest,
let me know.

But wait, there's more! As a bonus, I'll discuss self-hosted XMPP with
multi-device message synchronization! It's the neatest thing I can never
use, because nobody else uses XMPP anymore.

-- 
Chris Irwin

email:   chris at chrisirwin.ca
 xmpp:   chris at chrisirwin.ca
  web: https://chrisirwin.ca





More information about the kwlug-disc mailing list