NOTMUCH-CONFIG(1)
NAME
notmuch-config - access notmuch configuration file
SYNOPSIS
notmuch config get <section>.<item>
notmuch config set [--database] <section>.<item> [value ...]
notmuch config list
DESCRIPTION
The config command can be used to get or set settings in the notmuch
configuration file and corresponding database.
get The value of the specified configuration item is printed to std‐
out. If the item has multiple values (it is a list), each value
is separated by a newline character.
set The specified configuration item is set to the given value. To
specify a multiple-value item (a list), provide each value as a
separate command-line argument.
If no values are provided, the specified configuration item will
be removed from the configuration file.
With the --database option, updates configuration metadata
stored in the database, rather than the default (text) configu‐
ration file.
list Every configuration item is printed to stdout, each on a sepa‐
rate line of the form:
section.item=value
No additional whitespace surrounds the dot or equals sign char‐
acters. In a multiple-value item (a list), the values are sepa‐
rated by semicolon characters.
The available configuration items are described below.
database.path
Notmuch will store its database here, (in sub-directory named
.notmuch if database.mail_root is unset).
Default: $MAILDIR variable if set, otherwise $HOME/mail.
database.mail_root
The top-level directory where your mail currently exists and to
where mail will be delivered in the future. Files should be in‐
dividual email messages.
History: this configuration value was introduced in notmuch
0.32.
Default: For compatibility with older configurations, the value
of database.path is used if database.mail_root is unset.
database.hook_dir
Directory containing hooks run by notmuch commands. See not‐
much-hooks(5).
user.name
Your full name.
Default: $NAME variable if set, otherwise read from /etc/passwd.
user.primary_email
Your primary email address.
Default: $EMAIL variable if set, otherwise constructed from the
username and hostname of the current machine.
user.other_email
A list of other email addresses at which you receive email.
Default: not set.
new.tags
A list of tags that will be added to all messages incorporated
by notmuch new.
Default: unread;inbox.
new.ignore
A list to specify files and directories that will not be
searched for messages by notmuch new. Each entry in the list is
either:
A file or a directory name, without path, that will be ignored,
regardless of the location in the mail store directory hierar‐
chy.
Or:
A regular expression delimited with // that will be matched
against the path of the file or directory relative to the data‐
base path. Matching files and directories will be ignored. The
beginning and end of string must be explicitly anchored. For ex‐
ample, /.*/foo$/ would match "bar/foo" and "bar/baz/foo", but
not "foo" or "bar/foobar".
Default: empty list.
search.exclude_tags
A list of tags that will be excluded from search results by de‐
fault. Using an excluded tag in a query will override that ex‐
clusion.
Default: empty list. Note that notmuch-setup(1) puts
deleted;spam here when creating new configuration file.
maildir.synchronize_flags
If true, then the following maildir flags (in message filenames)
will be synchronized with the corresponding notmuch tags:
┌─────┬────────────────────────────┐
│Flag │ Tag │
├─────┼────────────────────────────┤
│D │ draft │
├─────┼────────────────────────────┤
│F │ flagged │
├─────┼────────────────────────────┤
│P │ passed │
├─────┼────────────────────────────┤
│R │ replied │
├─────┼────────────────────────────┤
│S │ unread (added when 'S' │
│ │ flag is not present) │
└─────┴────────────────────────────┘
The notmuch new command will notice flag changes in filenames
and update tags, while the notmuch tag and notmuch restore com‐
mands will notice tag changes and update flags in filenames.
If there have been any changes in the maildir (new messages
added, old ones removed or renamed, maildir flags changed,
etc.), it is advisable to run notmuch new before notmuch tag or
notmuch restore commands to ensure the tag changes are properly
synchronized to the maildir flags, as the commands expect the
database and maildir to be in sync.
Default: true.
index.decrypt
Policy for decrypting encrypted messages during indexing. Must
be one of: false, auto, nostash, or true.
When indexing an encrypted e-mail message, if this variable is
set to true, notmuch will try to decrypt the message and index
the cleartext, stashing a copy of any discovered session keys
for the message. If auto, it will try to index the cleartext if
a stashed session key is already known for the message (e.g.
from a previous copy), but will not try to access your secret
keys. Use false to avoid decrypting even when a stashed session
key is already present.
nostash is the same as true except that it will not stash
newly-discovered session keys in the database.
From the command line (i.e. during notmuch-new(1), notmuch-in‐
sert(1), or notmuch-reindex(1)), the user can override the data‐
base's stored decryption policy with the --decrypt= option.
Here is a table that summarizes the functionality of each of
these policies:
┌──────────────┬───────┬──────┬─────────┬──────┐
│ │ false │ auto │ nostash │ true │
├──────────────┼───────┼──────┼─────────┼──────┤
│Index cleart‐ │ │ X │ X │ X │
│ext using │ │ │ │ │
│stashed ses‐ │ │ │ │ │
│sion keys │ │ │ │ │
├──────────────┼───────┼──────┼─────────┼──────┤
│Index cleart‐ │ │ │ X │ X │
│ext using se‐ │ │ │ │ │
│cret keys │ │ │ │ │
├──────────────┼───────┼──────┼─────────┼──────┤
│Stash session │ │ │ │ X │
│keys
├──────────────┼───────┼──────┼─────────┼──────┤
│Delete
│stashed ses‐ │ │ │ │ │
│sion keys on │ │ │ │ │
│reindex │ │ │ │ │
└──────────────┴───────┴──────┴─────────┴──────┘
Stashed session keys are kept in the database as properties as‐
sociated with the message. See session-key in notmuch-proper‐
ties(7) for more details about how they can be useful.
Be aware that the notmuch index is likely sufficient (and a
stashed session key is certainly sufficient) to reconstruct the
cleartext of the message itself, so please ensure that the not‐
much message index is adequately protected. DO NOT USE in-
dex.decrypt=true or index.decrypt=nostash without considering
the security of your index.
Default: auto.
index.header.<prefix>
Define the query prefix <prefix>, based on a mail header. For
example index.header.List=List-Id will add a probabilistic pre‐
fix List: that searches the List-Id field. User defined pre‐
fixes must not start with 'a'...'z'; in particular adding a pre‐
fix with same name as a predefined prefix is not supported. See
notmuch-search-terms(7) for a list of existing prefixes, and an
explanation of probabilistic prefixes.
built_with.<name>
Compile time feature <name>. Current possibilities include
"retry_lock" (configure option, included by default). (since
notmuch 0.30, "compact" and "field_processor" are always in‐
cluded.)
query.<name>
Expansion for named query called <name>. See not‐
much-search-terms(7) for more information about named queries.
ENVIRONMENT
The following environment variables can be used to control the behavior
of notmuch.
NOTMUCH_CONFIG
Specifies the location of the notmuch configuration file.
NOTMUCH_PROFILE
Selects among notmuch configurations.
FILES
CONFIGURATION
If NOTMUCH_CONFIG is unset, notmuch tries (in order)
• $XDG_CONFIG_HOME/notmuch/<profile>/config where <profile> is defined
by $NOTMUCH_PROFILE or "default"
• ${HOME}/.notmuch-config<profile> where <profile> is .$NOTMUCH_PROFILE
or ""
Hooks
If database.hook_dir is unset, notmuch tries (in order)
• $XDG_CONFIG_HOME/notmuch/<profile>/hooks where <profile> is defined
by $NOTMUCH_PROFILE or "default"
• <database.path>/.notmuch/hooks
SEE ALSO
notmuch(1), notmuch-count(1), notmuch-dump(1), notmuch-hooks(5), not‐
much-insert(1), notmuch-new(1), notmuch-reply(1), notmuch-restore(1),
notmuch-search(1), notmuch-search-terms(7), notmuch-properties(7), not‐
much-show(1), notmuch-tag(1)
AUTHOR
Carl Worth and many others
COPYRIGHT
2009-2021, Carl Worth and many others
0.32