<h1>NOTMUCH-CONFIG(1)</h1>
<h2>NAME</h2>
-
<pre>
- notmuch-config - Access notmuch configuration file.
+ notmuch-config - access notmuch configuration file
</pre>
<h2>SYNOPSIS</h2>
-
<pre>
- <b>notmuch</b> <b>config</b> <b>get</b> <<u>section</u>>.<<u>item</u>>
-</pre>
+ <b>notmuch</b> <b>config</b> <b>get</b> <<u>section</u>>.<<u>item</u>>
-<pre>
- <b>notmuch</b> <b>config</b> <b>set</b> <<u>section</u>>.<<u>item</u>> [<u>value</u> ...]
-</pre>
+ <b>notmuch</b> <b>config</b> <b>set</b> [--database] <<u>section</u>>.<<u>item</u>> [<u>value</u> ...]
-<pre>
<b>notmuch</b> <b>config</b> <b>list</b>
</pre>
<h2>DESCRIPTION</h2>
-
<pre>
The <b>config</b> command can be used to get or set settings in the notmuch
- configuration file.
-</pre>
+ configuration file and corresponding database.
-<pre>
- <b>get</b> The value of the specified configuration item is printed to
- stdout. If the item has multiple values (it is a list), each
- value is separated by a newline character.
-</pre>
+ <b>get</b> 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.
-<pre>
- <b>set</b> 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.
-</pre>
+ <b>set</b> 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.
-<pre>
- If no values are provided, the specified configuration item
- will be removed from the configuration file.
-</pre>
+ If no values are provided, the specified configuration item will
+ be removed from the configuration file.
-<pre>
- <b>list</b>
- Every configuration item is printed to stdout, each on a sepa-
- rate line of the form:
-</pre>
+ With the <u>--database</u> option, updates configuration metadata
+ stored in the database, rather than the default (text) configu‐
+ ration file.
-<pre>
- <u>section</u>.<u>item</u>=<u>value</u>
-</pre>
+ <b>list</b> Every configuration item is printed to stdout, each on a sepa‐
+ rate line of the form:
-<pre>
- 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.
-</pre>
+ section.item=value
-<pre>
- The available configuration items are described below.
-</pre>
+ 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.
-<pre>
- <b>database.path</b>
- The top-level directory where your mail currently exists and to
- where mail will be delivered in the future. Files should be
- individual email messages. Notmuch will store its database
- within a sub-directory of the path configured here named <b>.not-</b>
- <b>much</b>.
-</pre>
+ The available configuration items are described below. Non-absolute
+ paths are presumed relative to <u>$HOME</u> for items in section <b>database</b>.
-<pre>
- <b>user.name</b>
- Your full name.
-</pre>
+ <b>database.path</b>
+ Notmuch will store its database here, (in sub-directory named
+ <b>.notmuch</b> if <b>database.mail</b>_<b>root</b> is unset).
-<pre>
- <b>user.primary</b>_<b>email</b>
- Your primary email address.
-</pre>
+ Default: see <u>DATABASE</u> <u>LOCATION</u>
-<pre>
- <b>user.other</b>_<b>email</b>
- A list of other email addresses at which you receive email.
-</pre>
+ <b>database.mail</b>_<b>root</b>
+ 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.
-<pre>
- <b>new.tags</b>
- A list of tags that will be added to all messages incorporated
- by <b>notmuch</b> <b>new</b>.
-</pre>
+ History: this configuration value was introduced in notmuch
+ 0.32.
-<pre>
- <b>new.ignore</b>
- A list of file and directory names, without path, that will not
- be searched for messages by <b>notmuch</b> <b>new</b>. All the files and
- directories matching any of the names specified here will be
- ignored, regardless of the location in the mail store directory
- hierarchy.
-</pre>
+ Default: For compatibility with older configurations, the value
+ of database.path is used if <b>database.mail</b>_<b>root</b> is unset.
-<pre>
- <b>search.exclude</b>_<b>tags</b>
- A list of tags that will be excluded from search results by
- default. Using an excluded tag in a query will override that
- exclusion.
-</pre>
+ <b>database.backup</b>_<b>dir</b>
+ Directory to store tag dumps when upgrading database.
-<pre>
- <b>maildir.synchronize</b>_<b>flags</b>
- If true, then the following maildir flags (in message file-
- names) will be synchronized with the corresponding notmuch
- tags:
+ History: this configuration value was introduced in notmuch
+ 0.32.
+
+ Default: A sibling directory of the Xapian database called <u>back‐</u>
+ <u>ups</u>.
+
+ <b>database.hook</b>_<b>dir</b>
+ Directory containing hooks run by notmuch commands. See <a href='../notmuch-hooks-5/'>not‐</a>
+ <a href='../notmuch-hooks-5/'>much-hooks</a>(5).
+
+ History: this configuration value was introduced in notmuch
+ 0.32.
+
+ Default: See HOOKS, below.
+
+ <b>database.autocommit</b>
+ How often to commit transactions to disk. <u>0</u> means wait until command
+ completes, otherwise an integer <u>n</u> specifies to commit to disk after
+ every <u>n</u> completed transactions.
+
+ History: this configuration value was introduced in notmuch 0.33.
+
+ <b>user.name</b>
+ Your full name.
+
+ Default: <b>$NAME</b> variable if set, otherwise read from <b>/etc/passwd</b>.
+
+ <b>user.primary</b>_<b>email</b>
+ Your primary email address.
+
+ Default: <b>$EMAIL</b> variable if set, otherwise constructed from the
+ username and hostname of the current machine.
+
+ <b>user.other</b>_<b>email</b>
+ A list of other email addresses at which you receive email.
+
+ Default: not set.
+
+ <b>new.tags</b>
+ A list of tags that will be added to all messages incorporated
+ by <b>notmuch</b> <b>new</b>.
+
+ Default: <b>unread;inbox</b>.
+
+ <b>new.ignore</b>
+ A list to specify files and directories that will not be
+ searched for messages by <a href='../notmuch-new-1/'>notmuch-new</a>(1). 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.
+
+ <b>search.exclude</b>_<b>tags</b>
+ 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 <b>notmuch-setup</b>(1) puts
+ <b>deleted;spam</b> here when creating new configuration file.
+
+ <b>show.extra_headers</b>
+ By default <a href='../notmuch-show-1/'>notmuch-show</a>(1) includes the following headers in struc‐
+ tured output if they are present in the message: <u>Subject</u>, <u>From</u>, <u>To</u>,
+ <u>Cc</u>, <u>Bcc</u>, <u>Reply-To</u>, <u>Date</u>. This option allows the specification of a
+ list of further headers to output.
+
+ History: This configuration value was introduced in notmuch 0.35.
+
+ Default: empty list.
+
+ <b>maildir.synchronize</b>_<b>flags</b>
+ 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 <a href='../notmuch-new-1/'>notmuch-new</a>(1) command will notice flag changes in filenames
+ and update tags, while the <a href='../notmuch-tag-1/'>notmuch-tag</a>(1) and <a href='../notmuch-restore-1/'>notmuch-restore</a>(1)
+ commands 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 <a href='../notmuch-new-1/'>notmuch-new</a>(1) before <a href='../notmuch-tag-1/'>not‐</a>
+ <a href='../notmuch-tag-1/'>much-tag</a>(1) or <a href='../notmuch-restore-1/'>notmuch-restore</a>(1) 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: <b>true</b>.
+
+ <b>index.decrypt</b>
+ Policy for decrypting encrypted messages during indexing. Must
+ be one of: <b>false</b>, <b>auto</b>, <b>nostash</b>, or <b>true</b>.
+
+ When indexing an encrypted e-mail message, if this variable is
+ set to <b>true</b>, notmuch will try to decrypt the message and index
+ the cleartext, stashing a copy of any discovered session keys
+ for the message. If <b>auto</b>, 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 <b>false</b> to avoid decrypting even when a stashed session
+ key is already present.
+
+ <b>nostash</b> is the same as <b>true</b> except that it will not stash
+ newly-discovered session keys in the database.
+
+ From the command line (i.e. during <a href='../notmuch-new-1/'>notmuch-new</a>(1), <a href='../notmuch-insert-1/'>notmuch-in‐</a>
+ <a href='../notmuch-insert-1/'>sert</a>(1), or <a href='../notmuch-reindex-1/'>notmuch-reindex</a>(1)), the user can override the data‐
+ base's stored decryption policy with the <b>--decrypt=</b> 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 <b>session-key</b> in <a href='../notmuch-properties-7/'>notmuch-proper‐</a>
+ <a href='../notmuch-properties-7/'>ties</a>(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 <b>in-</b>
+ <b>dex.decrypt=true</b> or <b>index.decrypt=nostash</b> without considering
+ the security of your index.
+
+ Default: <b>auto</b>.
+
+ <b>index.header.<prefix></b>
+ Define the query prefix <prefix>, based on a mail header. For
+ example <b>index.header.List=List-Id</b> will add a probabilistic pre‐
+ fix <b>List:</b> that searches the <b>List-Id</b> 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
+ <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7) for a list of existing prefixes, and an
+ explanation of probabilistic prefixes.
+
+ <b>built</b>_<b>with.<name></b>
+ 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.)
+
+ <b>query.<name></b>
+ Expansion for named query called <name>. See <a href='../notmuch-search-terms-7/'>not‐</a>
+ <a href='../notmuch-search-terms-7/'>much-search-terms</a>(7) for more information about named queries.
+
+ <b>squery.<name></b>
+ Expansion for named query called <name>, using s-expression syn‐
+ tax. See <a href='../notmuch-sexp-queries-7/'>notmuch-sexp-queries</a>(7) for more information about
+ s-expression queries.
</pre>
+<h2>FILES</h2>
+
+<h3> CONFIGURATION</h3>
<pre>
- Flag Tag
- ---- -------
- D draft
- F flagged
- P passed
- R replied
- S unread (added when 'S' flag is not present)
+ Notmuch configuration file search order:
+
+ 1. File specified by <b>notmuch</b> <b>--config</b> global option; see <a href='../notmuch-1/'>notmuch</a>(1).
+
+ 2. File specified by <b>NOTMUCH</b>_<b>CONFIG</b> environment variable.
+
+ 3. <b>$XDG</b>_<b>CONFIG</b>_<b>HOME/notmuch/<profile>/config</b> where <b><profile></b> is defined
+ by <b>NOTMUCH</b>_<b>PROFILE</b> environment variable if set, <b>$XDG</b>_<b>CON-</b>
+ <b>FIG</b>_<b>HOME/notmuch/default/config</b> otherwise.
+
+ 4. <b>$HOME/.notmuch-config.<profile></b> where <b><profile></b> is defined by <b>NOT-</b>
+ <b>MUCH</b>_<b>PROFILE</b> environment variable if set, <b>$HOME/.notmuch-config</b> oth‐
+ erwise.
</pre>
+<h3> DATABASE LOCATION</h3>
<pre>
- The <b>notmuch</b> <b>new</b> command will notice flag changes in filenames
- and update tags, while the <b>notmuch</b> <b>tag</b> and <b>notmuch</b> <b>restore</b> com-
- mands will notice tag changes and update flags in filenames.
+ Notmuch database search order:
+
+ 1. Directory specified by <b>NOTMUCH</b>_<b>DATABASE</b> environment variable.
+
+ 2. Directory specified by config key <b>database.path</b>.
+
+ 3. <b>$XDG</b>_<b>DATA</b>_<b>HOME/notmuch/<profile></b> where <b><profile></b> is defined by <b>NOT-</b>
+ <b>MUCH</b>_<b>PROFILE</b> environment variable if set, <b>$XDG</b>_<b>DATA</b>_<b>HOME/notmuch/de-</b>
+ <b>fault</b> otherwise.
+
+ 4. Directory specified by <b>MAILDIR</b> environment variable.
+
+ 5. <b>$HOME/mail</b>
</pre>
+<h3> HOOKS</h3>
<pre>
- 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 <b>notmuch</b> <b>new</b> before <b>notmuch</b> <b>tag</b> or
- <b>notmuch</b> <b>restore</b> 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.
-</pre>
+ Notmuch hook directory search order:
-<h2>ENVIRONMENT</h2>
+ 1. Directory specified by <b>database.hook</b>_<b>dir</b> configuration option.
-<pre>
- The following environment variables can be used to control the behavior
- of notmuch.
+ 2. <b>$XDG</b>_<b>CONFIG</b>_<b>HOME/notmuch/<profile>/hooks</b> where <b><profile></b> is defined
+ by <b>NOTMUCH</b>_<b>PROFILE</b> environment variable if set, <b>$XDG</b>_<b>CON-</b>
+ <b>FIG</b>_<b>HOME/notmuch/default/hooks</b> otherwise.
+
+ 3. <b><database.path>/.notmuch/hooks</b>
</pre>
+<h2>SEE ALSO</h2>
<pre>
- <b>NOTMUCH</b>_<b>CONFIG</b>
- Specifies the location of the notmuch configuration file. Not-
- much will use ${HOME}/.notmuch-config if this variable is not
- set.
+ <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-hooks-5/'>notmuch-hooks</a>(5), <a href='../notmuch-insert-1/'>not‐</a>
+ <a href='../notmuch-insert-1/'>much-insert</a>(1), <a href='../notmuch-new-1/'>notmuch-new</a>(1), <a href='../notmuch-properties-7/'>notmuch-properties</a>(7), <a href='../notmuch-reply-1/'>notmuch-re‐</a>
+ <a href='../notmuch-reply-1/'>ply</a>(1), <a href='../notmuch-restore-1/'>notmuch-restore</a>(1), <a href='../notmuch-search-1/'>notmuch-search</a>(1), <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7),
+ <a href='../notmuch-show-1/'>notmuch-show</a>(1), <a href='../notmuch-tag-1/'>notmuch-tag</a>(1)
</pre>
-<h2>SEE ALSO</h2>
+<h2>AUTHOR</h2>
+<pre>
+ Carl Worth and many others
+</pre>
+<h2>COPYRIGHT</h2>
<pre>
- <b>notmuch</b>(1), <b>notmuch-count</b>(1), <b>notmuch-dump</b>(1), <b>notmuch-hooks</b>(5), <b>not-</b>
- <b>much-new</b>(1), <b>notmuch-reply</b>(1), <b>notmuch-restore</b>(1), <b>notmuch-search</b>(1),
- <b>notmuch-search-terms</b>(7), <b>notmuch-show</b>(1), <b>notmuch-tag</b>(1)
+ 2009-2022, Carl Worth and many others
</pre>
-<h1>Notmuch 0.13.2</h1>
+<h2>0.35</h2>