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
- stdout. If the item has multiple values (it is a list), each value
- is separated by a newline character.
+.. program:: config
-**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.
+.. option:: get
- If no values are provided, the specified configuration item will
- be removed from the configuration file.
+ 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.
- With the `--database` option, updates configuration metadata
- stored in the database, rather than the default (text)
- configuration file.
+.. option:: set
-**list**
- Every configuration item is printed to stdout, each on a separate
- line of the form::
+ 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.
- section.item=value
+ If no values are provided, the specified configuration item will
+ be removed from the configuration file.
- No additional whitespace surrounds the dot or equals sign
- characters. In a multiple-value item (a list), the values are
- separated by semicolon characters.
+ With the `--database` option, updates configuration metadata
+ stored in the database, rather than the default (text)
+ configuration file.
+
+.. option:: list
+
+ Every configuration item is printed to stdout, each on a separate
+ line of the form::
+
+ section.item=value
+
+ No additional whitespace surrounds the dot or equals sign
+ characters. In a multiple-value item (a list), the values are
+ separated by semicolon characters.
The available configuration items are described below. Non-absolute
paths are presumed relative to `$HOME` for items in section
sub-directory named ``.notmuch`` if **database.mail\_root**
is unset).
- Default: ``$MAILDIR`` variable if set, otherwise ``$HOME/mail``.
+ Default: see :ref:`database`
**database.mail_root**
The top-level directory where your mail currently exists and to
`backups`.
**database.hook_dir**
-
Directory containing hooks run by notmuch commands. See
:any:`notmuch-hooks(5)`.
+ History: this configuration value was introduced in notmuch 0.32.
+
+ Default: See HOOKS, below.
+
+**database.autocommit**
+
+ 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.33.
+
**user.name**
Your full name.
:any:`notmuch-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.
+**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.
FILES
=====
CONFIGURATION
-------------
-If ``NOTMUCH_CONFIG`` is unset, notmuch tries (in order)
+Notmuch configuration file search order:
+
+1. File specified by :option:`notmuch --config` global option; see
+ :any:`notmuch(1)`.
+
+2. File specified by :envvar:`NOTMUCH_CONFIG` environment variable.
+
+3. ``$XDG_CONFIG_HOME/notmuch/<profile>/config`` where ``<profile>``
+ is defined by :envvar:`NOTMUCH_PROFILE` environment variable if
+ set, ``$XDG_CONFIG_HOME/notmuch/default/config`` otherwise.
+
+4. ``$HOME/.notmuch-config.<profile>`` where ``<profile>`` is defined
+ by :envvar:`NOTMUCH_PROFILE` environment variable if set,
+ ``$HOME/.notmuch-config`` otherwise.
+
+.. _database:
+
+DATABASE LOCATION
+-----------------
-- ``$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 ""
+Notmuch database search order:
-Hooks
+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
-----
-If ``database.hook_dir`` is unset, notmuch tries (in order)
+Notmuch hook directory search order:
+
+1. Directory specified by ``database.hook_dir`` configuration option.
+
+2. ``$XDG_CONFIG_HOME/notmuch/<profile>/hooks`` where ``<profile>``
+ is defined by :envvar:`NOTMUCH_PROFILE` environment variable if
+ set, ``$XDG_CONFIG_HOME/notmuch/default/hooks`` otherwise.
-- ``$XDG_CONFIG_HOME/notmuch/<profile>/hooks`` where ``<profile>`` is
- defined by ``$NOTMUCH_PROFILE`` or "default"
-- ``<database.path>/.notmuch/hooks``
+3. ``<database.path>/.notmuch/hooks``
SEE ALSO
========