</tgroup>
</table>
</sect2>
+
+ <sect2 id="config-priority">
+ <title>Config Priority</title>
+ <para>
+ The majority of NeoMutt's config will be read from two files: the
+ system config in <literal>/etc</literal> and the user config in, e.g.
+ <literal>~/.neomuttrc</literal>
+ </para>
+
+ <para>
+ The last file that gets read will overwrite any settings from
+ previous config files. This means that an administrator can set some
+ defaults which the user can override.
+ </para>
+
+ <para>
+ Additionally, there are a handful of config items which can be set
+ using an environment variable. They have a lower priority than the
+ NeoMutt config files:
+ <link linkend="editor">$editor</link>,
+ <link linkend="from">$from</link>,
+ <link linkend="mailcap-path">$mailcap_path</link>,
+ <link linkend="news-server">$news_server</link>,
+ <link linkend="shell">shell</link>,
+ <link linkend="spoolfile">$spoolfile</link>,
+ <link linkend="tmpdir">$tmpdir</link>,
+ <link linkend="visual">$visual</link>.
+ </para>
+
+ <para>
+ Finally, it's possible to <link linkend="commandline">set some
+ variables directly</link> on the command-line using the
+ <literal>-e</literal> option.
+ </para>
+
+ <table id="table-config-priority">
+ <title>Config Priority</title>
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry>Priority</entry>
+ <entry>Where</entry>
+ <entry>Example</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>Highest</entry>
+ <entry>Command line</entry>
+ <entry><literal>neomutt -e 'set from="John Doe <john@example.com>"'</literal></entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>User Config</entry>
+ <entry><literal>~/.neomuttrc</literal></entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>System Config</entry>
+ <entry><literal>/etc/neomuttrc</literal></entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>Environment</entry>
+ <entry><literal>export EDITOR="/usr/bin/vim"</literal></entry>
+ </row>
+ <row>
+ <entry>Lowest</entry>
+ <entry>Built-in</entry>
+ <entry>Defaults hard-coded into NeoMutt</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+
+ </sect2>
</sect1>
<sect1 id="neomuttrc-syntax" xreflabel="Syntax of Initialization Files">
{ "debug_file", DT_PATH, R_NONE, &DebugFile, IP "~/.neomuttdebug" },
/*
** .pp
- ** The location prefix of the debug file, 0 is append to the debug file
- ** Old debug files are renamed with the prefix 1, 2, 3 and 4.
- ** See ``debug_level'' for more detail.
+ ** Debug logging is controlled by the variables \fC$$debug_file\fP and \fC$$debug_level\fP.
+ ** \fC$$debug_file\fP specifies the root of the filename. NeoMutt will add ``0'' to the end.
+ ** Each time NeoMutt is run with logging enabled, the log files are rotated.
+ ** A maximum of five log files are kept, numbered 0 (most recent) to 4 (oldest).
+ ** .pp
+ ** This option can be enabled on the command line, ``neomutt -l mylog''
+ ** .pp
+ ** See also: \fC$$debug_level\fP
*/
{ "debug_level", DT_NUMBER, R_NONE, &DebugLevel, 0 },
/*
** .pp
- ** The debug level. Note: to debug the early startup process (before the
- ** configuration is loaded), ``-d'' neomutt argument must be used.
- ** debug_level/debug_file are ignored until it's read from the configuration
- ** file.
+ ** Debug logging is controlled by the variables \fC$$debug_file\fP and \fC$$debug_level\fP.
+ ** .pp
+ ** The debug level controls how much information is saved to the log file.
+ ** If you have a problem with NeoMutt, then enabling logging may help find the cause.
+ ** Levels 1-3 will usually provide enough information for writing a bug report.
+ ** Levels 4,5 will be extremely verbose.
+ ** .pp
+ ** Warning: Logging at high levels may save private information to the file.
+ ** .pp
+ ** This option can be enabled on the command line, ``neomutt -d 2''
+ ** .pp
+ ** See also: \fC$$debug_file\fP
*/
{ "default_hook", DT_STRING, R_NONE, &DefaultHook, IP "~f %s !~P | (~P ~C %s)" },
/*
{ "from", DT_ADDRESS, R_NONE, &From, 0 },
/*
** .pp
- ** When \fIset\fP, this variable contains a default from address. It
+ ** When \fIset\fP, this variable contains a default ``from'' address. It
** can be overridden using ``$my_hdr'' (including from a ``$send-hook'') and
** $$reverse_name. This variable is ignored if $$use_from is \fIunset\fP.
** .pp
- ** This setting defaults to the contents of the environment variable \fC$$$EMAIL\fP.
+ ** If not specified, then it may be read from the environment variable \fC$$$EMAIL\fP.
*/
{ "from_chars", DT_MBTABLE, R_BOTH, &FromChars, 0 },
/*
** as the domain part (after ``@'') for local email addresses as well as
** Message-Id headers.
** .pp
- ** Its value is determined at startup as follows: the node's
- ** hostname is first determined by the \fCuname(3)\fP function. The
- ** domain is then looked up using the \fCgethostname(2)\fP and
- ** \fCgetaddrinfo(3)\fP functions. If those calls are unable to
- ** determine the domain, the full value returned by uname is used.
- ** Optionally, NeoMutt can be compiled with a fixed domain name in
- ** which case a detected one is not used.
+ ** If not specified in a config file, then NeoMutt will try to determine the hostname itself.
+ ** .pp
+ ** Optionally, NeoMutt can be compiled with a fixed domain name.
** .pp
** Also see $$use_domain and $$hidden_host.
*/
** .pp
** When $$mail_check_stats is \fIset\fP, this variable configures
** how often (in seconds) NeoMutt will update message counts.
- ** .pp
- ** The default search path is from RFC1524.
*/
{ "mailcap_path", DT_STRING, R_NONE, &MailcapPath, IP "~/.mailcap:" PKGDATADIR "/mailcap:" SYSCONFDIR "/mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap" },
/*
** display MIME bodies not directly supported by NeoMutt.
** .pp
** $$mailcap_path is overridden by the environment variable \fC$$$MAILCAPS\fP.
+ ** .pp
+ ** The default search path is from RFC1524.
*/
{ "mailcap_sanitize", DT_BOOL, R_NONE, &MailcapSanitize, 1 },
/*
/*
** .pp
** The default mailbox type used when creating new folders. May be any of
- ** ``mbox'', ``MMDF'', ``MH'' and ``Maildir''. This is overridden by the
- ** \fC-m\fP command-line option.
+ ** ``mbox'', ``MMDF'', ``MH'' or ``Maildir''.
+ ** .pp
+ ** This can also be set using the \fC-m\fP command-line option.
*/
{ "menu_context", DT_NUMBER, R_NONE, &MenuContext, 0 },
/*
{ "news_server", DT_STRING, R_NONE, &NewsServer, 0 },
/*
** .pp
- ** This variable specifies domain name or address of NNTP server. It
- ** defaults to the news server specified in the environment variable
- ** $$$NNTPSERVER or contained in the file /etc/nntpserver. You can also
- ** specify username and an alternative port for each news server, ie:
+ ** This variable specifies domain name or address of NNTP server.
** .pp
- ** [[s]news://][username[:password]@]server[:port]
+ ** You can also specify username and an alternative port for each news server,
+ ** e.g. \fC[[s]news://][username[:password]@]server[:port]\fP
+ ** .pp
+ ** This option can also be set using the command line option ``-g'', the
+ ** environment variable \fC$$$NNTPSERVER\fP, or putting the server name in the
+ ** file ``/etc/nntpserver''.
*/
{ "newsgroups_charset", DT_STRING, R_NONE, &NewsgroupsCharset, IP "utf-8" },
/*
** This variable specifies what ``real'' or ``personal'' name should be used
** when sending messages.
** .pp
- ** By default, this is the GECOS field from \fC/etc/passwd\fP. Note that this
- ** variable will \fInot\fP be used when the user has set a real name
- ** in the $$from variable.
+ ** If not specified, then the user's ``real name'' will be read from \fC/etc/passwd\fP.
+ ** This option will not be used, if ``$$from'' is set.
*/
{ "recall", DT_QUAD, R_NONE, &Recall, MUTT_ASKYES },
/*
{ "shell", DT_PATH, R_NONE, &Shell, 0 },
/*
** .pp
- ** Command to use when spawning a subshell. By default, the user's login
- ** shell from \fC/etc/passwd\fP is used.
+ ** Command to use when spawning a subshell.
+ ** If not specified, then the user's login shell from \fC/etc/passwd\fP is used.
*/
{ "show_multipart_alternative", DT_STRING, R_NONE, &ShowMultipartAlternative, 0 },
/*
/*
** .pp
** If your spool mailbox is in a non-default place where NeoMutt cannot find
- ** it, you can specify its location with this variable. NeoMutt will
- ** initially set this variable to the value of the environment
- ** variable \fC$$$MAIL\fP or \fC$$$MAILDIR\fP if either is defined.
+ ** it, you can specify its location with this variable.
+ ** .pp
+ ** If not specified, then the environment variables \fC$$$MAIL\fP and
+ ** \fC$$$MAILDIR\fP will be checked.
*/
#ifdef USE_SSL
#ifdef USE_SSL_GNUTLS
/*
** .pp
** This variable allows you to specify where NeoMutt will place its
- ** temporary files needed for displaying and composing messages. If
- ** this variable is not set, the environment variable \fC$$$TMPDIR\fP is
- ** used. If \fC$$$TMPDIR\fP is not set then ``\fC/tmp\fP'' is used.
+ ** temporary files needed for displaying and composing messages.
+ ** .pp
+ ** If this variable is not set, the environment variable \fC$$$TMPDIR\fP is
+ ** used. Failing that, then ``\fC/tmp\fP'' is used.
*/
{ "to_chars", DT_MBTABLE, R_BOTH, &ToChars, IP " +TCFL" },
/*
** Specifies the visual editor to invoke when the ``\fC~v\fP'' command is
** given in the built-in editor.
** .pp
- ** $$visual is overridden by the environment variable \fC$$$VISUAL\fP.
+ ** $$visual is overridden by the environment variable \fC$$$VISUAL\fP or \fC$$$EDITOR\fP.
*/
{ "wait_key", DT_BOOL, R_NONE, &WaitKey, 1 },
/*