Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
NOTMUCH-CONFIG(1)		     notmuch		       NOTMUCH-CONFIG(1)

NAME
     notmuch-config - access notmuch configuration file

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 con-
     figuration 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 sepa-
	    rated by a newline character.

     set    The specified configuration item is set to the given value. To spec-
	    ify 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  charac-
	    ters. 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.

     built_with.<name>
	    Compile  time  feature   <name>.   Current	 possibilities	 include
	    "retry_lock"  (configure  option, included by default).  (since not-
	    much 0.30, "compact" and "field_processor" are always included.)

     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.

     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
	    Directory	containing   hooks   run   by	notmuch   commands.  See
	    notmuch-hooks.

	    History: this configuration value was introduced in notmuch 0.32.

	    Default: See HOOKS, below.

     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 individ-
	    ual 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.path
	    Notmuch will store its database here, (in sub-directory named  .not-
	    much if database.mail_root is unset).

	    Default: see DATABASE LOCATION

     git.path
	    Default location for git repository for notmuch-git.

     git.safe_fraction
	    Some  notmuch-git  operations  check  that	the fraction of messages
	    changed (in the database or in  git,  as  appropriate)  is	not  too
	    large. This item controls what fraction of total messages is consid-
	    ered "not too large".

     git.tag_prefix
	    Default tag prefix (filter) for notmuch-git.

     index.as_text
	    List  of  regular expressions (without delimiters) for MIME types to
	    be indexed as text. Currently this applies only to attachments.   By
	    default  the regex matches anywhere in the content type; if the user
	    wants an anchored  match,  they  should  include  anchors  in  their
	    regexes.

	    History: This configuration value was introduced in notmuch 0.38.

     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-dis-
	    covered session keys in the database.

	    From the command line (i.e. during notmuch-new,  notmuch-insert,  or
	    notmuch-reindex),  the  user  can override the database's stored de-
	    cryption policy with the --decrypt= 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	     | X     |	    |	      |      |
		     | stashed	ses- |	     |	    |	      |      |
		     | sion keys  on |	     |	    |	      |      |
		     | reindex	     |	     |	    |	      |      |
		     +---------------+-------+------+---------+------+

	    Stashed  session keys are kept in the database as properties associ-
	    ated with the message.  See session-key  in  notmuch-properties  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.de-
	    crypt=nostash without considering the security of your index.

	    Default: auto.

     index.header.<prefix>
	    Define  the query prefix <prefix>, based on a mail header. For exam-
	    ple 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
	    for a list of existing prefixes, and an explanation of probabilistic
	    prefixes.

     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 ad-
	    visable  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.

     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,  re-
	    gardless 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/foo-
	    bar".

	    Default: empty list.

     new.tags
	    A list of tags that will be added to all  messages	incorporated  by
	    notmuch new.

	    Default: unread;inbox.

     query.<name>
	    Expansion  for  named  query called <name>. See notmuch-search-terms
	    for more information about named queries.

     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 puts deleted;spam  here  when
	    creating new configuration file.

     search.authors_separator
	    The string to separate authors when showing a thread.

	    Default: ,

     search.authors_matched_separator
	    The string to separate matched from non-matched authors when showing
	    a thread.

	    Default: |

     show.extra_headers
	    By default notmuch-show 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.<name>
	    Expansion  for named query called <name>, using s-expression syntax.
	    See notmuch-sexp-queries 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, user.primary_email)

	    Default: not set.

     user.primary_email
	    Your primary email address.

	    Default: $EMAIL variable if  set,  otherwise  constructed  from  the
	    username and hostname of the current machine.

FILES
   CONFIGURATION
     Notmuch configuration file search order:

     1. File specified by notmuch --config global option; see notmuch.

     2. File specified by NOTMUCH_CONFIG environment variable.

     3. $XDG_CONFIG_HOME/notmuch/<profile>/config  where <profile> is defined by
	NOTMUCH_PROFILE  environment  variable	if  set,   $XDG_CONFIG_HOME/not-
	much/default/config otherwise.

     4. $HOME/.notmuch-config.<profile>    where   <profile>   is   defined   by
	NOTMUCH_PROFILE environment variable if set, $HOME/.notmuch-config  oth-
	erwise.

   DATABASE LOCATION
     Notmuch database search order:

     1. Directory specified by NOTMUCH_DATABASE environment variable.

     2. Directory specified by config key database.path.

     3. $XDG_DATA_HOME/notmuch/<profile>   where   <profile>   is   defined   by
	NOTMUCH_PROFILE environment variable if set,  $XDG_DATA_HOME/notmuch/de-
	fault otherwise.

     4. Directory specified by MAILDIR environment variable.

     5. $HOME/mail

   HOOKS
     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
	NOTMUCH_PROFILE  environment  variable	if  set,   $XDG_CONFIG_HOME/not-
	much/default/hooks otherwise.

     3. <database.path>/.notmuch/hooks

SEE ALSO
     notmuch,	notmuch-count,	 notmuch-dump,	 notmuch-hooks,  notmuch-insert,
     notmuch-new,    notmuch-properties,     notmuch-reply,	notmuch-restore,
     notmuch-search, notmuch-search-terms, notmuch-show, notmuch-tag

AUTHOR
     Carl Worth and many others

COPYRIGHT
     2009-2026, Carl Worth and many others

0.40				  Aug 27, 2026		       NOTMUCH-CONFIG(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=notmuch-config&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help