[ANNOUNCE] notmuchfs - A virtual maildir file system for notmuch queries

Tim Stoakes notmuch at stoakes.net
Sat Sep 29 05:35:06 PDT 2012


Hello fellow notmuch-ers,

What is notmuchfs?
------------------
Notmuchfs implements a virtual file system which creates maildirs from notmuch
mail query results. This is useful for using notmuch with tools which are not
aware of notmuch, only maildirs - such as mutt.

Basically you 'mkdir' your query strings, then point your tool of choice at
that directory, and it turns into a virtual maildir containing the query
results.


How does it work?
-----------------
A notmuchfs virtual file system is mounted referencing a particular existing
(real) directory called the 'backing store'.

Directories created within the backing store, when read, appear to have the
standard maildir format (e.g. cur/, new/, tmp/ sub-directories).

Notmuchfs interprets the names of these backing store directories as notmuch
queries, and fills the cur/ virtual maildir sub-directory with virtual messages
which are the result of executing that query (at the instant in time that the
directory is read).

Each virtual maildir message file, when read, appears to have the exact content
of the message referenced by the notmuch query, augmented with an 'X-Label'
header generated automatically by notmuchfs, containing the notmuch tags of
that message.


Additional 'glue' scripts are provided to augment this, to integrate it more
tightly with MUA-like tools, specifically 'mutt', giving the ability to alter
notmuch tags, create new queries, etc.



Why?
----
I wanted to use notmuch with mutt. I didn't feel that ploughing though mutt's
codebase to add tight integration was the quickest way to a result, so
notmuchfs was born.

I developed notmuchfs in 2011, but I am only now able to release it. In the
mean-time, the excellent 'mutt-kz' was released, scratching my initial itch.

Notmuchfs solves a broader problem - e.g. a notmuch-aware courier-imap is not
too much of a stretch - so I think there is room for the different approaches.


More information
----------------
 https://github.com/tsto/notmuchfs
 https://github.com/tsto/notmuchfs/blob/master/README.md
 https://github.com/tsto/notmuchfs/blob/master/README.MUTT.md
 https://github.com/tsto/notmuchfs/blob/master/ISSUES



Perhaps this will scratch someone else's itch too.

Tim

-- 
Tim Stoakes


More information about the notmuch mailing list