mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-25 12:28:09 +01:00
Support multiple configuration files via $NOTMUCH_CONFIG
If present, $NOTMUCH_CONFIG will be used as the configuration file location.
This commit is contained in:
parent
8c09ca1e21
commit
91d1d3f043
4 changed files with 19 additions and 10 deletions
|
@ -132,9 +132,10 @@ get_username_from_passwd_file (void *ctx)
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Open the named notmuch configuration file. A filename of NULL will
|
/* Open the named notmuch configuration file. If the filename is NULL,
|
||||||
* be interpreted as the default configuration file
|
* the value of the environment variable $NOTMUCH_CONFIG will be used.
|
||||||
* ($HOME/.notmuch-config).
|
* If $NOTMUCH_CONFIG is unset, the default configuration file
|
||||||
|
* ($HOME/.notmuch-config) will be used.
|
||||||
*
|
*
|
||||||
* If any error occurs, (out of memory, or a permission-denied error,
|
* If any error occurs, (out of memory, or a permission-denied error,
|
||||||
* etc.), this function will print a message to stderr and return
|
* etc.), this function will print a message to stderr and return
|
||||||
|
@ -168,6 +169,7 @@ notmuch_config_open (void *ctx,
|
||||||
{
|
{
|
||||||
GError *error = NULL;
|
GError *error = NULL;
|
||||||
int is_new = 0;
|
int is_new = 0;
|
||||||
|
char *notmuch_config_env = NULL;
|
||||||
|
|
||||||
if (is_new_ret)
|
if (is_new_ret)
|
||||||
*is_new_ret = 0;
|
*is_new_ret = 0;
|
||||||
|
@ -180,11 +182,15 @@ notmuch_config_open (void *ctx,
|
||||||
|
|
||||||
talloc_set_destructor (config, notmuch_config_destructor);
|
talloc_set_destructor (config, notmuch_config_destructor);
|
||||||
|
|
||||||
if (filename)
|
if (filename) {
|
||||||
config->filename = talloc_strdup (config, filename);
|
config->filename = talloc_strdup (config, filename);
|
||||||
else
|
} else if ((notmuch_config_env = getenv ("NOTMUCH_CONFIG"))) {
|
||||||
|
config->filename = talloc_strdup (config, notmuch_config_env);
|
||||||
|
notmuch_config_env = NULL;
|
||||||
|
} else {
|
||||||
config->filename = talloc_asprintf (config, "%s/.notmuch-config",
|
config->filename = talloc_asprintf (config, "%s/.notmuch-config",
|
||||||
getenv ("HOME"));
|
getenv ("HOME"));
|
||||||
|
}
|
||||||
|
|
||||||
config->key_file = g_key_file_new ();
|
config->key_file = g_key_file_new ();
|
||||||
|
|
||||||
|
|
|
@ -76,7 +76,8 @@ welcome_message_post_setup (void)
|
||||||
"Notmuch is now configured, and the configuration settings are saved in\n"
|
"Notmuch is now configured, and the configuration settings are saved in\n"
|
||||||
"a file in your home directory named .notmuch-config . If you'd like to\n"
|
"a file in your home directory named .notmuch-config . If you'd like to\n"
|
||||||
"change the configuration in the future, you can either edit that file\n"
|
"change the configuration in the future, you can either edit that file\n"
|
||||||
"directly or run \"notmuch setup\".\n\n"
|
"directly or run \"notmuch setup\". To choose an alternate configuration\n"
|
||||||
|
"location, set ${NOTMUCH_CONFIG}.\n\n"
|
||||||
|
|
||||||
"The next step is to run \"notmuch new\" which will create a database\n"
|
"The next step is to run \"notmuch new\" which will create a database\n"
|
||||||
"that indexes all of your mail. Depending on the amount of mail you have\n"
|
"that indexes all of your mail. Depending on the amount of mail you have\n"
|
||||||
|
|
|
@ -53,9 +53,10 @@ Interactively sets up notmuch for first use.
|
||||||
The setup command will prompt for your full name, your primary email
|
The setup command will prompt for your full name, your primary email
|
||||||
address, any alternate email addresses you use, and the directory
|
address, any alternate email addresses you use, and the directory
|
||||||
containing your email archives. Your answers will be written to a
|
containing your email archives. Your answers will be written to a
|
||||||
configuration file in ${HOME}/.notmuch-config . This configuration
|
configuration file in ${NOTMUCH_CONFIG} (if set) or
|
||||||
file will be created with descriptive comments, making it easy to edit
|
${HOME}/.notmuch-config . This configuration file will be created with
|
||||||
by hand later to change the configuration. Or you can run
|
descriptive comments, making it easy to edit by hand later to change the
|
||||||
|
configuration. Or you can run
|
||||||
.B "notmuch setup"
|
.B "notmuch setup"
|
||||||
again to change the configuration.
|
again to change the configuration.
|
||||||
|
|
||||||
|
|
|
@ -98,7 +98,8 @@ command_t commands[] = {
|
||||||
"\t\tThe setup command will prompt for your full name, your primary\n"
|
"\t\tThe setup command will prompt for your full name, your primary\n"
|
||||||
"\t\temail address, any alternate email addresses you use, and the\n"
|
"\t\temail address, any alternate email addresses you use, and the\n"
|
||||||
"\t\tdirectory containing your email archives. Your answers will be\n"
|
"\t\tdirectory containing your email archives. Your answers will be\n"
|
||||||
"\t\twritten to a configuration file in ${HOME}/.notmuch-config .\n"
|
"\t\twritten to a configuration file in ${NOTMUCH_CONFIG} (if set)\n"
|
||||||
|
"\t\tor ${HOME}/.notmuch-config.\n"
|
||||||
"\n"
|
"\n"
|
||||||
"\t\tThis configuration file will be created with descriptive\n"
|
"\t\tThis configuration file will be created with descriptive\n"
|
||||||
"\t\tcomments, making it easy to edit by hand later to change the\n"
|
"\t\tcomments, making it easy to edit by hand later to change the\n"
|
||||||
|
|
Loading…
Reference in a new issue