mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-12-01 23:24:11 +01:00
dd9112e7d8
Previously the fact that some configuration options were only stored
in the database (and thus editing the config file had no effect) was a
source of user confusion. This was fixed with the series ending at
d9af0af164
.
On the other hand, the underlying partition of config options into
those stored by default in the database and those stored in the config
file remained. This is also confusing, since now some invocations of
"notmuch config set" modify the config file, and others silently
modify the database instead.
With this commit, it is up to the user to decide which configuration
to modify. A new "--database" option is provided for notmuch config to
enable modifying the configuration information in the database;
otherwise the default is to update an external config file.
273 lines
9.5 KiB
ReStructuredText
273 lines
9.5 KiB
ReStructuredText
==============
|
|
notmuch-config
|
|
==============
|
|
|
|
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
|
|
stdout. 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)
|
|
configuration file.
|
|
|
|
**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.
|
|
|
|
**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
|
|
individual 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
|
|
**notmuch-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 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.
|
|
|
|
**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 **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**
|
|
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 **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-insert(1)**, or **notmuch-reindex(1)**), the user can
|
|
override the database'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 cleartext using | | X | X | X |
|
|
| stashed session keys | | | | |
|
|
+------------------------+-------+------+---------+------+
|
|
| Index cleartext | | | X | X |
|
|
| using secret keys | | | | |
|
|
+------------------------+-------+------+---------+------+
|
|
| Stash session keys | | | | X |
|
|
+------------------------+-------+------+---------+------+
|
|
| Delete stashed session | X | | | |
|
|
| keys on reindex | | | | |
|
|
+------------------------+-------+------+---------+------+
|
|
|
|
Stashed session keys are kept in the database as properties
|
|
associated with the message. See ``session-key`` in
|
|
**notmuch-properties(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 notmuch
|
|
message index is adequately protected. DO NOT USE
|
|
``index.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
|
|
prefix ``List:`` that searches the ``List-Id`` field. User
|
|
defined prefixes must not start with 'a'...'z'; in particular
|
|
adding a prefix 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 included.)
|
|
|
|
**query.<name>**
|
|
Expansion for named query called <name>. See
|
|
**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.
|
|
|
|
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)**,
|
|
**notmuch-insert(1)**,
|
|
**notmuch-new(1)**,
|
|
**notmuch-reply(1)**,
|
|
**notmuch-restore(1)**,
|
|
**notmuch-search(1)**,
|
|
**notmuch-search-terms(7)**,
|
|
**notmuch-properties(7)**,
|
|
**notmuch-show(1)**,
|
|
**notmuch-tag(1)**
|