]> git.cworth.org Git - notmuch/blob - doc/man1/notmuch-config.rst
doc: document (tersely) the intended behaviour of relative paths.
[notmuch] / doc / man1 / notmuch-config.rst
1 ==============
2 notmuch-config
3 ==============
4
5 SYNOPSIS
6 ========
7
8 **notmuch** **config** **get** <*section*>.<*item*>
9
10 **notmuch** **config** **set** [--database] <*section*>.<*item*> [*value* ...]
11
12 **notmuch** **config** **list**
13
14 DESCRIPTION
15 ===========
16
17 The **config** command can be used to get or set settings in the notmuch
18 configuration file and corresponding database.
19
20 **get**
21     The value of the specified configuration item is printed to
22     stdout. If the item has multiple values (it is a list), each value
23     is separated by a newline character.
24
25 **set**
26     The specified configuration item is set to the given value. To
27     specify a multiple-value item (a list), provide each value as a
28     separate command-line argument.
29
30     If no values are provided, the specified configuration item will
31     be removed from the configuration file.
32
33     With the `--database` option, updates configuration metadata
34     stored in the database, rather than the default (text)
35     configuration file.
36
37 **list**
38     Every configuration item is printed to stdout, each on a separate
39     line of the form::
40
41         section.item=value
42
43     No additional whitespace surrounds the dot or equals sign
44     characters. In a multiple-value item (a list), the values are
45     separated by semicolon characters.
46
47 The available configuration items are described below. Non-absolute
48 paths are presumed relative to `$HOME` for items in section
49 **database**.
50
51 **database.path**
52     Notmuch will store its database here, (in
53     sub-directory named ``.notmuch`` if **database.mail\_root**
54     is unset).
55
56     Default: ``$MAILDIR`` variable if set, otherwise ``$HOME/mail``.
57
58 **database.mail_root**
59     The top-level directory where your mail currently exists and to
60     where mail will be delivered in the future. Files should be
61     individual email messages.
62
63     History: this configuration value was introduced in notmuch 0.32.
64
65     Default: For compatibility with older configurations, the value of
66     database.path is used if **database.mail\_root** is unset.
67
68 **database.hook_dir**
69
70     Directory containing hooks run by notmuch commands. See
71     **notmuch-hooks(5)**.
72
73 **user.name**
74     Your full name.
75
76     Default: ``$NAME`` variable if set, otherwise read from
77     ``/etc/passwd``.
78
79 **user.primary\_email**
80     Your primary email address.
81
82     Default: ``$EMAIL`` variable if set, otherwise constructed from
83     the username and hostname of the current machine.
84
85 **user.other\_email**
86     A list of other email addresses at which you receive email.
87
88     Default: not set.
89
90 **new.tags**
91     A list of tags that will be added to all messages incorporated by
92     **notmuch new**.
93
94     Default: ``unread;inbox``.
95
96 **new.ignore**
97     A list to specify files and directories that will not be searched
98     for messages by **notmuch new**. Each entry in the list is either:
99
100     A file or a directory name, without path, that will be ignored,
101     regardless of the location in the mail store directory hierarchy.
102
103     Or:
104
105     A regular expression delimited with // that will be matched
106     against the path of the file or directory relative to the database
107     path. Matching files and directories will be ignored. The
108     beginning and end of string must be explicitly anchored. For
109     example, /.*/foo$/ would match "bar/foo" and "bar/baz/foo", but
110     not "foo" or "bar/foobar".
111
112     Default: empty list.
113
114 **search.exclude\_tags**
115     A list of tags that will be excluded from search results by
116     default. Using an excluded tag in a query will override that
117     exclusion.
118
119     Default: empty list. Note that **notmuch-setup(1)** puts
120     ``deleted;spam`` here when creating new configuration file.
121
122 **maildir.synchronize\_flags**
123     If true, then the following maildir flags (in message filenames)
124     will be synchronized with the corresponding notmuch tags:
125
126     +--------+-----------------------------------------------+
127     | Flag   | Tag                                           |
128     +========+===============================================+
129     | D      | draft                                         |
130     +--------+-----------------------------------------------+
131     | F      | flagged                                       |
132     +--------+-----------------------------------------------+
133     | P      | passed                                        |
134     +--------+-----------------------------------------------+
135     | R      | replied                                       |
136     +--------+-----------------------------------------------+
137     | S      | unread (added when 'S' flag is not present)   |
138     +--------+-----------------------------------------------+
139
140     The **notmuch new** command will notice flag changes in filenames
141     and update tags, while the **notmuch tag** and **notmuch restore**
142     commands will notice tag changes and update flags in filenames.
143
144     If there have been any changes in the maildir (new messages added,
145     old ones removed or renamed, maildir flags changed, etc.), it is
146     advisable to run **notmuch new** before **notmuch tag** or
147     **notmuch restore** commands to ensure the tag changes are
148     properly synchronized to the maildir flags, as the commands expect
149     the database and maildir to be in sync.
150
151     Default: ``true``.
152
153 **index.decrypt**
154     Policy for decrypting encrypted messages during indexing.  Must be
155     one of: ``false``, ``auto``, ``nostash``, or ``true``.
156
157     When indexing an encrypted e-mail message, if this variable is set
158     to ``true``, notmuch will try to decrypt the message and index the
159     cleartext, stashing a copy of any discovered session keys for the
160     message.  If ``auto``, it will try to index the cleartext if a
161     stashed session key is already known for the message (e.g. from a
162     previous copy), but will not try to access your secret keys.  Use
163     ``false`` to avoid decrypting even when a stashed session key is
164     already present.
165
166     ``nostash`` is the same as ``true`` except that it will not stash
167     newly-discovered session keys in the database.
168
169     From the command line (i.e. during **notmuch-new(1)**,
170     **notmuch-insert(1)**, or **notmuch-reindex(1)**), the user can
171     override the database's stored decryption policy with the
172     ``--decrypt=`` option.
173
174     Here is a table that summarizes the functionality of each of these
175     policies:
176
177     +------------------------+-------+------+---------+------+
178     |                        | false | auto | nostash | true |
179     +========================+=======+======+=========+======+
180     | Index cleartext using  |       |  X   |    X    |  X   |
181     | stashed session keys   |       |      |         |      |
182     +------------------------+-------+------+---------+------+
183     | Index cleartext        |       |      |    X    |  X   |
184     | using secret keys      |       |      |         |      |
185     +------------------------+-------+------+---------+------+
186     | Stash session keys     |       |      |         |  X   |
187     +------------------------+-------+------+---------+------+
188     | Delete stashed session |   X   |      |         |      |
189     | keys on reindex        |       |      |         |      |
190     +------------------------+-------+------+---------+------+
191
192     Stashed session keys are kept in the database as properties
193     associated with the message.  See ``session-key`` in
194     **notmuch-properties(7)** for more details about how they can be
195     useful.
196
197     Be aware that the notmuch index is likely sufficient (and a
198     stashed session key is certainly sufficient) to reconstruct the
199     cleartext of the message itself, so please ensure that the notmuch
200     message index is adequately protected.  DO NOT USE
201     ``index.decrypt=true`` or ``index.decrypt=nostash`` without
202     considering the security of your index.
203
204     Default: ``auto``.
205
206 **index.header.<prefix>**
207     Define the query prefix <prefix>, based on a mail header. For
208     example ``index.header.List=List-Id`` will add a probabilistic
209     prefix ``List:`` that searches the ``List-Id`` field.  User
210     defined prefixes must not start with 'a'...'z'; in particular
211     adding a prefix with same name as a predefined prefix is not
212     supported. See **notmuch-search-terms(7)** for a list of existing
213     prefixes, and an explanation of probabilistic prefixes.
214
215 **built_with.<name>**
216     Compile time feature <name>. Current possibilities include
217     "retry_lock" (configure option, included by default).
218     (since notmuch 0.30, "compact" and "field_processor" are
219     always included.)
220
221 **query.<name>**
222     Expansion for named query called <name>. See
223     **notmuch-search-terms(7)** for more information about named
224     queries.
225
226 ENVIRONMENT
227 ===========
228
229 The following environment variables can be used to control the behavior
230 of notmuch.
231
232 **NOTMUCH\_CONFIG**
233     Specifies the location of the notmuch configuration file.
234
235 **NOTMUCH_PROFILE**
236     Selects among notmuch configurations.
237
238 FILES
239 =====
240
241 CONFIGURATION
242 -------------
243
244 If ``NOTMUCH_CONFIG`` is unset, notmuch tries (in order)
245
246 - ``$XDG_CONFIG_HOME/notmuch/<profile>/config`` where ``<profile>`` is
247   defined by ``$NOTMUCH_PROFILE`` or "default"
248 - ``${HOME}/.notmuch-config<profile>`` where ``<profile>`` is
249   ``.$NOTMUCH_PROFILE`` or ""
250
251 Hooks
252 -----
253
254 If ``database.hook_dir`` is unset, notmuch tries (in order)
255
256 - ``$XDG_CONFIG_HOME/notmuch/<profile>/hooks`` where ``<profile>`` is
257   defined by ``$NOTMUCH_PROFILE`` or "default"
258 - ``<database.path>/.notmuch/hooks``
259
260 SEE ALSO
261 ========
262
263 **notmuch(1)**,
264 **notmuch-count(1)**,
265 **notmuch-dump(1)**,
266 **notmuch-hooks(5)**,
267 **notmuch-insert(1)**,
268 **notmuch-new(1)**,
269 **notmuch-reply(1)**,
270 **notmuch-restore(1)**,
271 **notmuch-search(1)**,
272 **notmuch-search-terms(7)**,
273 **notmuch-properties(7)**,
274 **notmuch-show(1)**,
275 **notmuch-tag(1)**