X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=doc%2Fman1%2Fnotmuch-config.rst;h=acc5ecec6b01282c30d7b9bd821fde9ac1e8e2bf;hb=999706c4d506f77fcef2a3d5d1c6bfe65c8db791;hp=5c980a8a4bb80d57cff031594fc0ef6db8708c5b;hpb=ff4e81ac57dee5a62f35093c2966f931a7b7580c;p=notmuch diff --git a/doc/man1/notmuch-config.rst b/doc/man1/notmuch-config.rst index 5c980a8a..acc5ecec 100644 --- a/doc/man1/notmuch-config.rst +++ b/doc/man1/notmuch-config.rst @@ -19,55 +19,57 @@ 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. +.. 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 **database**. -**database.path** - Notmuch will store its database here, (in - sub-directory named ``.notmuch`` if **database.mail\_root** - is unset). +built_with. + Compile time feature . 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``. +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. - - History: this configuration value was introduced in notmuch 0.32. + 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. - Default: For compatibility with older configurations, the value of - database.path is used if **database.mail\_root** is unset. + History: this configuration value was introduced in notmuch 0.33. -**database.backup_dir** +database.backup_dir Directory to store tag dumps when upgrading database. History: this configuration value was introduced in notmuch 0.32. @@ -75,94 +77,36 @@ paths are presumed relative to `$HOME` for items in section Default: A sibling directory of the Xapian database called `backups`. -**database.hook_dir** - +database.hook_dir Directory containing hooks run by notmuch commands. See :any:`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 :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". + History: this configuration value was introduced in notmuch 0.32. - Default: empty list. + Default: See HOOKS, below. -**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. +.. _database.mail_root: - Default: empty list. Note that :any:`notmuch-setup(1)` puts - ``deleted;spam`` here when creating new configuration file. +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. -**maildir.synchronize\_flags** - If true, then the following maildir flags (in message filenames) - will be synchronized with the corresponding notmuch tags: + History: this configuration value was introduced in notmuch 0.32. - +--------+-----------------------------------------------+ - | Flag | Tag | - +========+===============================================+ - | D | draft | - +--------+-----------------------------------------------+ - | F | flagged | - +--------+-----------------------------------------------+ - | P | passed | - +--------+-----------------------------------------------+ - | R | replied | - +--------+-----------------------------------------------+ - | S | unread (added when 'S' flag is not present) | - +--------+-----------------------------------------------+ + Default: For compatibility with older configurations, the value of + database.path is used if **database.mail\_root** is unset. - 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. +database.path + Notmuch will store its database here, (in + sub-directory named ``.notmuch`` if **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``. +.. _index.decrypt: -**index.decrypt** +index.decrypt Policy for decrypting encrypted messages during indexing. Must be one of: ``false``, ``auto``, ``nostash``, or ``true``. @@ -215,7 +159,9 @@ paths are presumed relative to `$HOME` for items in section Default: ``auto``. -**index.header.** +.. _index.header: + +index.header. Define the query 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 @@ -224,50 +170,175 @@ paths are presumed relative to `$HOME` for items in section supported. See :any:`notmuch-search-terms(7)` for a list of existing prefixes, and an explanation of probabilistic prefixes. -**built_with.** - Compile time feature . Current possibilities include - "retry_lock" (configure option, included by default). - (since notmuch 0.30, "compact" and "field_processor" are - always included.) +.. _maildir.synchronize_flags: + +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``. + +.. _new.ignore: + +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". -**query.** + Default: empty list. + +.. _new.tags: + +new.tags + A list of tags that will be added to all messages incorporated by + **notmuch new**. + + Default: ``unread;inbox``. + +query. Expansion for named query called . See :any:`notmuch-search-terms(7)` for more information about named queries. -ENVIRONMENT -=========== +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. + +.. _show.extra_headers: + +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. + +squery. + Expansion for named query called , using s-expression syntax. See + :any:`notmuch-sexp-queries(7)` for more information about s-expression + queries. + +user.name + Your full name. + + Default: ``$NAME`` variable if set, otherwise read from + ``/etc/passwd``. + +user.other\_email + A list of other email addresses at which you receive email + (see also, :ref:`user.primary_email `). + + Default: not set. -The following environment variables can be used to control the behavior -of notmuch. +.. _user.primary_email: -**NOTMUCH\_CONFIG** - Specifies the location of the notmuch configuration file. +user.primary\_email + Your primary email address. -**NOTMUCH_PROFILE** - Selects among notmuch configurations. + Default: ``$EMAIL`` variable if set, otherwise constructed from + the username and hostname of the current machine. FILES ===== +.. _config_search: + 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)`. -- ``$XDG_CONFIG_HOME/notmuch//config`` where ```` is - defined by ``$NOTMUCH_PROFILE`` or "default" -- ``${HOME}/.notmuch-config`` where ```` is - ``.$NOTMUCH_PROFILE`` or "" +2. File specified by :envvar:`NOTMUCH_CONFIG` environment variable. -Hooks +3. ``$XDG_CONFIG_HOME/notmuch//config`` where ```` + is defined by :envvar:`NOTMUCH_PROFILE` environment variable if + set, ``$XDG_CONFIG_HOME/notmuch/default/config`` otherwise. + +4. ``$HOME/.notmuch-config.`` where ```` is defined + 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/`` where ```` + 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//hooks`` where ```` + is defined by :envvar:`NOTMUCH_PROFILE` environment variable if + set, ``$XDG_CONFIG_HOME/notmuch/default/hooks`` otherwise. -- ``$XDG_CONFIG_HOME/notmuch//hooks`` where ```` is - defined by ``$NOTMUCH_PROFILE`` or "default" -- ``/.notmuch/hooks`` +3. ``/.notmuch/hooks`` SEE ALSO ========