paths are presumed relative to `$HOME` for items in section
**database**.
-**database.path**
- Notmuch will store its database here, (in
- sub-directory named ``.notmuch`` if **database.mail\_root**
- is unset).
+.. nmconfig:: 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 included.)
- Default: ``$MAILDIR`` variable if set, otherwise ``$HOME/mail``.
+.. nmconfig:: database.autocommit
-**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
- individual email messages.
+ How often to commit transactions to disk. `0` means wait until
+ command completes, otherwise an integer `n` specifies to commit to
+ disk after every `n` completed transactions.
- History: this configuration value was introduced in notmuch 0.32.
+ History: this configuration value was introduced in notmuch 0.33.
- Default: For compatibility with older configurations, the value of
- database.path is used if **database.mail\_root** is unset.
+.. nmconfig:: database.backup_dir
-**database.backup_dir**
Directory to store tag dumps when upgrading database.
History: this configuration value was introduced in notmuch 0.32.
Default: A sibling directory of the Xapian database called
`backups`.
-**database.hook_dir**
+.. nmconfig:: database.hook_dir
+
Directory containing hooks run by notmuch commands. See
:any:`notmuch-hooks(5)`.
Default: See HOOKS, below.
-**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 :any:`notmuch-new(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 hierarchy.
+.. nmconfig:: database.mail_root
- Or:
-
- A regular expression delimited with // that will be matched
- against the path of the file or directory relative to the database
- path. Matching files and directories will be ignored. The
- beginning and end of string must be explicitly anchored. For
- example, /.*/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
- default. Using an excluded tag in a query will override that
- exclusion.
+ 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.
- Default: empty list. Note that :any:`notmuch-setup(1)` puts
- ``deleted;spam`` here when creating new configuration file.
+ History: this configuration value was introduced in notmuch 0.32.
-**maildir.synchronize\_flags**
- If true, then the following maildir flags (in message filenames)
- will be synchronized with the corresponding notmuch tags:
+ Default: For compatibility with older configurations, the value of
+ database.path is used if :nmconfig:`database.mail_root` is unset.
- +--------+-----------------------------------------------+
- | Flag | Tag |
- +========+===============================================+
- | D | draft |
- +--------+-----------------------------------------------+
- | F | flagged |
- +--------+-----------------------------------------------+
- | P | passed |
- +--------+-----------------------------------------------+
- | R | replied |
- +--------+-----------------------------------------------+
- | S | unread (added when 'S' flag is not present) |
- +--------+-----------------------------------------------+
+.. nmconfig:: database.path
- The :any:`notmuch-new(1)` command will notice flag changes in
- filenames and update tags, while the :any:`notmuch-tag(1)` and
- :any:`notmuch-restore(1)` commands will notice tag changes and
- update flags in filenames.
+ Notmuch will store its database here, (in
+ sub-directory named ``.notmuch`` if :nmconfig:`database.mail_root`
+ is unset).
- 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 :any:`notmuch-new(1)` before
- :any:`notmuch-tag(1)` or :any:`notmuch-restore(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: see :ref:`database`
- Default: ``true``.
+.. nmconfig:: index.decrypt
-**index.decrypt**
Policy for decrypting encrypted messages during indexing. Must be
one of: ``false``, ``auto``, ``nostash``, or ``true``.
Default: ``auto``.
-**index.header.<prefix>**
+.. _index.header:
+
+.. nmconfig:: index.header.<prefix>
+
Define the query prefix <prefix>, based on a mail header. For
example ``index.header.List=List-Id`` will add a probabilistic
prefix ``List:`` that searches the ``List-Id`` field. User
supported. See :any:`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 included.)
+.. nmconfig:: 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 :any:`notmuch-new(1)` command will notice flag changes in
+ filenames and update tags, while the :any:`notmuch-tag(1)` and
+ :any:`notmuch-restore(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 :any:`notmuch-new(1)` before
+ :any:`notmuch-tag(1)` or :any:`notmuch-restore(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: ``true``.
+
+.. nmconfig:: new.ignore
+
+ A list to specify files and directories that will not be searched
+ for messages by :any:`notmuch-new(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 hierarchy.
+
+ Or:
+
+ A regular expression delimited with // that will be matched
+ against the path of the file or directory relative to the database
+ path. Matching files and directories will be ignored. The
+ beginning and end of string must be explicitly anchored. For
+ example, /.*/foo$/ would match "bar/foo" and "bar/baz/foo", but
+ not "foo" or "bar/foobar".
+
+ Default: empty list.
+
+.. nmconfig:: new.tags
+
+ A list of tags that will be added to all messages incorporated by
+ **notmuch new**.
+
+ Default: ``unread;inbox``.
+
+.. nmconfig:: query.<name>
-**query.<name>**
Expansion for named query called <name>. See
:any:`notmuch-search-terms(7)` for more information about named
queries.
+.. nmconfig:: search.exclude_tags
+
+ A list of tags that will be excluded from search results by
+ default. Using an excluded tag in a query will override that
+ exclusion.
+
+ Default: empty list. Note that :any:`notmuch-setup(1)` puts
+ ``deleted;spam`` here when creating new configuration file.
+
+.. nmconfig:: show.extra_headers
+
+ By default :any:`notmuch-show(1)` includes the following headers
+ in structured output if they are present in the message:
+ `Subject`, `From`, `To`, `Cc`, `Bcc`, `Reply-To`, `Date`. 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.
+
+.. nmconfig:: squery.<name>
+
+ Expansion for named query called <name>, using s-expression syntax. See
+ :any:`notmuch-sexp-queries(7)` for more information about s-expression
+ queries.
+
+.. nmconfig:: user.name
+
+ Your full name.
+
+ Default: ``$NAME`` variable if set, otherwise read from
+ ``/etc/passwd``.
+
+.. nmconfig:: user.other_email
+
+ A list of other email addresses at which you receive email
+ (see also, :nmconfig:`user.primary_email`)
+
+ Default: not set.
+
+.. nmconfig:: user.primary_email
+
+ Your primary email address.
+
+ Default: ``$EMAIL`` variable if set, otherwise constructed from
+ the username and hostname of the current machine.
+
FILES
=====
+.. _config_search:
+
CONFIGURATION
-------------
by :envvar:`NOTMUCH_PROFILE` environment variable if set,
``$HOME/.notmuch-config`` otherwise.
+.. _database:
+
+DATABASE LOCATION
+-----------------
+
+Notmuch database search order:
+
+1. Directory specified by :envvar:`NOTMUCH_DATABASE` environment variable.
+
+2. Directory specified by config key ``database.path``.
+
+3. ``$XDG_DATA_HOME/notmuch/<profile>`` where ``<profile>``
+ is defined by :envvar:`NOTMUCH_PROFILE` environment variable if
+ set, ``$XDG_DATA_HOME/notmuch/default`` otherwise.
+
+4. Directory specified by :envvar:`MAILDIR` environment variable.
+
+5. ``$HOME/mail``
+
HOOKS
-----