cli/new: support /<regex>/ in new.ignore
[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** <*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 Items marked **[STORED IN DATABASE]** are only in the database.  They
21 should not be placed in the configuration file, and should be accessed
22 programmatically as described in the SYNOPSIS above.
23
24     **get**
25         The value of the specified configuration item is printed to
26         stdout. If the item has multiple values (it is a list), each
27         value is separated by a newline character.
28
29     **set**
30         The specified configuration item is set to the given value. To
31         specify a multiple-value item (a list), provide each value as a
32         separate command-line argument.
33
34         If no values are provided, the specified configuration item will
35         be removed from the configuration file.
36
37     **list**
38         Every configuration item is printed to stdout, each on a
39         separate 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.
48
49     **database.path**
50         The top-level directory where your mail currently exists and to
51         where mail will be delivered in the future. Files should be
52         individual email messages. Notmuch will store its database
53         within a sub-directory of the path configured here named
54         ``.notmuch``.
55
56         Default: ``$MAILDIR`` variable if set, otherwise ``$HOME/mail``.
57
58     **user.name**
59         Your full name.
60
61         Default: ``$NAME`` variable if set, otherwise read from
62         ``/etc/passwd``.
63
64     **user.primary\_email**
65         Your primary email address.
66
67         Default: ``$EMAIL`` variable if set, otherwise constructed from the
68         username and hostname of the current machine.
69
70     **user.other\_email**
71         A list of other email addresses at which you receive email.
72
73         Default: not set.
74
75     **new.tags**
76         A list of tags that will be added to all messages incorporated
77         by **notmuch new**.
78
79         Default: ``unread;inbox``.
80
81     **new.ignore**
82         A list to specify files and directories that will not be
83         searched for messages by **notmuch new**. Each entry in the
84         list is either:
85
86           A file or a directory name, without path, that will be
87           ignored, regardless of the location in the mail store
88           directory hierarchy.
89
90         Or:
91
92           A regular expression delimited with // that will be matched
93           against the path of the file or directory relative to the
94           database path. Matching files and directories will be
95           ignored. The beginning and end of string must be explictly
96           anchored. For example, /.*/foo$/ would match "bar/foo" and
97           "bar/baz/foo", but not "foo" or "bar/foobar".
98
99         Default: empty list.
100
101     **search.exclude\_tags**
102         A list of tags that will be excluded from search results by
103         default. Using an excluded tag in a query will override that
104         exclusion.
105
106         Default: empty list. Note that **notmuch-setup(1)** puts
107         ``deleted;spam`` here when creating new configuration file.
108
109
110
111     **maildir.synchronize\_flags**
112         If true, then the following maildir flags (in message filenames)
113         will be synchronized with the corresponding notmuch tags:
114
115         +--------+-----------------------------------------------+
116         | Flag   | Tag                                           |
117         +========+===============================================+
118         | D      | draft                                         |
119         +--------+-----------------------------------------------+
120         | F      | flagged                                       |
121         +--------+-----------------------------------------------+
122         | P      | passed                                        |
123         +--------+-----------------------------------------------+
124         | R      | replied                                       |
125         +--------+-----------------------------------------------+
126         | S      | unread (added when 'S' flag is not present)   |
127         +--------+-----------------------------------------------+
128
129         The **notmuch new** command will notice flag changes in
130         filenames and update tags, while the **notmuch tag** and
131         **notmuch restore** commands will notice tag changes and update
132         flags in filenames.
133
134         If there have been any changes in the maildir (new messages
135         added, old ones removed or renamed, maildir flags changed,
136         etc.), it is advisable to run **notmuch new** before **notmuch
137         tag** or **notmuch restore** commands to ensure the tag changes
138         are properly synchronized to the maildir flags, as the commands
139         expect the database and maildir to be in sync.
140
141         Default: ``true``.
142
143     **crypto.gpg_path**
144
145         Name (or full path) of gpg binary to use in verification and
146         decryption of PGP/MIME messages.  NOTE: This configuration
147         item is deprecated, and will be ignored if notmuch is built
148         against GMime 3.0 or later.
149
150         Default: ``gpg``.
151
152     **index.decrypt**
153
154         **[STORED IN DATABASE]**
155
156         Policy for decrypting encrypted messages during indexing.
157         Must be one of: ``false``, ``auto``, ``nostash``, or
158         ``true``.
159
160         When indexing an encrypted e-mail message, if this variable is
161         set to ``true``, notmuch will try to decrypt the message and
162         index the cleartext, stashing a copy of any discovered session
163         keys for the message.  If ``auto``, it will try to index the
164         cleartext if a stashed session key is already known for the message
165         (e.g. from a previous copy), but will not try to access your
166         secret keys.  Use ``false`` to avoid decrypting even when a
167         stashed session key is already present.
168
169         ``nostash`` is the same as ``true`` except that it will not
170         stash newly-discovered session keys in the database.
171
172         From the command line (i.e. during **notmuch-new(1)**,
173         **notmuch-insert(1)**, or **notmuch-reindex(1)**), the user
174         can override the database's stored decryption policy with the
175         ``--decrypt=`` option.
176
177         Here is a table that summarizes the functionality of each of
178         these policies:
179
180         +------------------------+-------+------+---------+------+
181         |                        | false | auto | nostash | true |
182         +========================+=======+======+=========+======+
183         | Index cleartext using  |       |  X   |    X    |  X   |
184         | stashed session keys   |       |      |         |      |
185         +------------------------+-------+------+---------+------+
186         | Index cleartext        |       |      |    X    |  X   |
187         | using secret keys      |       |      |         |      |
188         +------------------------+-------+------+---------+------+
189         | Stash session keys     |       |      |         |  X   |
190         +------------------------+-------+------+---------+------+
191         | Delete stashed session |   X   |      |         |      |
192         | keys on reindex        |       |      |         |      |
193         +------------------------+-------+------+---------+------+
194
195         Stashed session keys are kept in the database as properties
196         associated with the message.  See ``session-key`` in
197         **notmuch-properties(7)** for more details about how they can
198         be useful.
199
200         Be aware that the notmuch index is likely sufficient (and a
201         stashed session key is certainly sufficient) to reconstruct
202         the cleartext of the message itself, so please ensure that the
203         notmuch message index is adequately protected.  DO NOT USE
204         ``index.decrypt=true`` or ``index.decrypt=nostash`` without
205         considering the security of your index.
206
207         Default: ``auto``.
208
209     **built_with.<name>**
210
211         Compile time feature <name>. Current possibilities include
212         "compact" (see **notmuch-compact(1)**)
213         and "field_processor" (see **notmuch-search-terms(7)**).
214
215     **query.<name>**
216
217         **[STORED IN DATABASE]**
218         Expansion for named query called <name>. See
219         **notmuch-search-terms(7)** for more information about named
220         queries.
221
222 ENVIRONMENT
223 ===========
224
225 The following environment variables can be used to control the behavior
226 of notmuch.
227
228 **NOTMUCH\_CONFIG**
229     Specifies the location of the notmuch configuration file. Notmuch
230     will use ${HOME}/.notmuch-config if this variable is not set.
231
232 SEE ALSO
233 ========
234
235 **notmuch(1)**,
236 **notmuch-count(1)**,
237 **notmuch-dump(1)**,
238 **notmuch-hooks(5)**,
239 **notmuch-insert(1)**,
240 **notmuch-new(1)**,
241 **notmuch-reply(1)**,
242 **notmuch-restore(1)**,
243 **notmuch-search(1)**,
244 **notmuch-search-terms(7)**,
245 **notmuch-properties(7)**,
246 **notmuch-show(1)**,
247 **notmuch-tag(1)**