accounts.calendar.accounts
List of calendars.
Type: attribute set of (submodule)
Default:
{ }
Declared by:
- <home-manager/modules/programs/thunderbird.nix>
- <home-manager/modules/programs/qcal.nix>
- <home-manager/modules/accounts/calendar.nix>
accounts.calendar.accounts.<name>.khal.enable
Whether to enable khal access.
Type: boolean
Default:
false
Example:
true
Declared by:
accounts.calendar.accounts.<name>.khal.addresses
Email addresses to be associated with this account. Used to check the participation status (“PARTSTAT”), refer to khal documentation.
Type: list of string
Default:
[ ]
Declared by:
accounts.calendar.accounts.<name>.khal.color
Color in which events in this calendar are displayed. For instance ‘light green’ or an RGB color ‘#ff0000’
Type: null or string
Default:
null
Example:
"light green"
Declared by:
accounts.calendar.accounts.<name>.khal.glob
The glob expansion to be searched for events or birthdays when type is set to discover.
Type: string
Default:
"*"
Declared by:
accounts.calendar.accounts.<name>.khal.priority
Priority of a calendar used for coloring (calendar with highest priority is preferred).
Type: signed integer
Default:
10
Declared by:
accounts.calendar.accounts.<name>.khal.readOnly
Keep khal from making any changes to this account.
Type: boolean
Default:
false
Declared by:
accounts.calendar.accounts.<name>.khal.type
Either a single calendar (calendar which is the default) or a directory with multiple calendars (discover).
Type: one of “calendar”, “discover”
Default:
"calendar"
Declared by:
accounts.calendar.accounts.<name>.local
Local configuration for the calendar.
Type: submodule
Default:
{ }
Declared by:
accounts.calendar.accounts.<name>.local.encoding
File encoding for items, both content and file name. Defaults to UTF-8.
Type: null or string
Default:
null
Declared by:
accounts.calendar.accounts.<name>.local.fileExt
The file extension to use.
Type: null or string
Default:
".ics"
Declared by:
accounts.calendar.accounts.<name>.local.path
The path of the storage.
Type: string
Default:
‹accounts.calendar.basePath›/‹name›
Declared by:
accounts.calendar.accounts.<name>.local.type
The type of the storage.
Type: one of “filesystem”, “singlefile”
Default:
"filesystem"
Declared by:
accounts.calendar.accounts.<name>.name
Unique identifier of the calendar. This is set to the attribute name of the calendar configuration.
Type: string (read only)
Declared by:
accounts.calendar.accounts.<name>.pimsync.enable
Whether to enable synchronization using pimsync.
Type: boolean
Default:
false
Example:
true
Declared by:
accounts.calendar.accounts.<name>.pimsync.extraLocalStorageDirectives
Extra directives that should be added under this accounts local storage directive
Type: anything
Default:
[ ]
Declared by:
accounts.calendar.accounts.<name>.pimsync.extraPairDirectives
Extra directives that should be added under this accounts pair directive
Type: anything
Default:
[ ]
Example:
[
{
name = "collections";
params = [
"all"
];
}
]
Declared by:
accounts.calendar.accounts.<name>.pimsync.extraRemoteStorageDirectives
Extra directives that should be added under this accounts remote storage directive
Type: anything
Default:
[ ]
Example:
[
{
name = "interval";
params = [
60
];
}
]
Declared by:
accounts.calendar.accounts.<name>.primary
Whether this is the primary account. Only one account may be set as primary.
Type: boolean
Default:
false
Declared by:
accounts.calendar.accounts.<name>.primaryCollection
The primary collection of the account. Required when an account has multiple collections.
Type: null or string
Default:
null
Declared by:
accounts.calendar.accounts.<name>.qcal.enable
Whether to enable qcal access.
Type: boolean
Default:
false
Example:
true
Declared by:
accounts.calendar.accounts.<name>.remote
Remote configuration for the calendar.
Type: null or (submodule)
Default:
null
Declared by:
accounts.calendar.accounts.<name>.remote.passwordCommand
A command that prints the password to standard output.
Type: null or (list of string)
Default:
null
Example:
[
"pass"
"caldav"
]
Declared by:
accounts.calendar.accounts.<name>.remote.type
The type of the storage.
Type: one of “caldav”, “http”, “google_calendar”
Declared by:
accounts.calendar.accounts.<name>.remote.url
The URL of the storage.
Type: null or string
Default:
null
Declared by:
accounts.calendar.accounts.<name>.remote.userName
User name for authentication.
Type: null or string
Default:
null
Declared by:
accounts.calendar.accounts.<name>.thunderbird.enable
Whether to enable the Thunderbird mail client for this account.
Type: boolean
Default:
false
Example:
true
Declared by:
accounts.calendar.accounts.<name>.thunderbird.color
Display color of the calendar in hex
Type: string
Default:
""
Example:
"#dc8add"
Declared by:
accounts.calendar.accounts.<name>.thunderbird.profiles
List of Thunderbird profiles for which this account should be enabled. If this list is empty (the default), this account will be enabled for all declared profiles.
Type: list of string
Default:
[ ]
Example:
[
"profile1"
"profile2"
]
Declared by:
accounts.calendar.accounts.<name>.thunderbird.readOnly
Mark calendar as read only
Type: boolean
Default:
false
Declared by:
accounts.calendar.accounts.<name>.thunderbird.settings
Extra settings to add to this Thunderbird calendar configuration.
The id given as argument is an automatically
generated account identifier.
Type: function that evaluates to a(n) attribute set of (boolean or signed integer or string)
Default:
_: { }
Example:
id: {
"calendar.registry.${id}.refreshInterval" = 5;
# If "my-awesome-account" is the attribute name of an email account under
# `config.accounts.email.accounts`, the below snippet links this calendar
# account to "my-awesome-account".
"calendar.registry.${id}.imip.identity.key" =
"id_${builtins.hashString "sha256" "my-awesome-account"}";
};
Declared by:
accounts.calendar.accounts.<name>.vdirsyncer.enable
Whether to enable synchronization using vdirsyncer.
Type: boolean
Default:
false
Example:
true
Declared by:
accounts.calendar.accounts.<name>.vdirsyncer.auth
Authentication settings. The default is basic.
Type: null or one of “basic”, “digest”, “guess”
Default:
null
Declared by:
accounts.calendar.accounts.<name>.vdirsyncer.authCert
Either a path to a certificate with a client certificate and the key or a list of paths to the files with them.
Type: null or string or list of string
Default:
null
Declared by:
accounts.calendar.accounts.<name>.vdirsyncer.clientIdCommand
A command that prints the OAuth credentials to standard output.
See https://vdirsyncer.pimutils.org/en/stable/config.html#google for more information.
Type: null or (list of string)
Default:
null
Example:
[
"pass"
"client_id"
]
Declared by:
accounts.calendar.accounts.<name>.vdirsyncer.clientSecretCommand
A command that prints the OAuth credentials to standard output.
See https://vdirsyncer.pimutils.org/en/stable/config.html#google for more information.
Type: null or (list of string)
Default:
null
Example:
[
"pass"
"client_secret"
]
Declared by:
accounts.calendar.accounts.<name>.vdirsyncer.collections
The collections to synchronize between the storages.
Type: null or (list of (string or list of string))
Default:
null
Declared by:
accounts.calendar.accounts.<name>.vdirsyncer.conflictResolution
What to do in case of a conflict between the storages. Either
remote wins or
local wins or
a list that contains a command to run. By default, an error
message is printed.
Type: null or one of “remote wins”, “local wins” or list of string
Default:
null
Declared by:
accounts.calendar.accounts.<name>.vdirsyncer.itemTypes
Kinds of items to show. The default is to show everything. This depends on particular features of the server, the results are not validated.
Type: null or (list of string)
Default:
null
Declared by:
accounts.calendar.accounts.<name>.vdirsyncer.metadata
Metadata keys that should be synchronized when vdirsyncer metasync is executed.
Type: list of string
Default:
[ ]
Example:
[
"color"
"displayname"
]
Declared by:
accounts.calendar.accounts.<name>.vdirsyncer.partialSync
What should happen if synchronization in one direction
is impossible due to one storage being read-only.
Defaults to revert.
See https://vdirsyncer.pimutils.org/en/stable/config.html#pair-section for more information.
Type: null or one of “revert”, “error”, “ignore”
Default:
null
Declared by:
accounts.calendar.accounts.<name>.vdirsyncer.postHook
Command to call for each item creation and modification. The command will be called with the path of the new/updated file.
Type: null or strings concatenated with “\n”
Default:
null
Declared by:
accounts.calendar.accounts.<name>.vdirsyncer.timeRange
A time range to synchronize. start and end can be any Python
expression that returns a datetime.datetime
object.
Type: null or (submodule)
Default:
null
Example:
{
end = "datetime.now() + timedelta(days=365)";
start = "datetime.now() - timedelta(days=365)";
}
Declared by:
accounts.calendar.accounts.<name>.vdirsyncer.timeRange.end
End of time range to show.
Type: string
Declared by:
accounts.calendar.accounts.<name>.vdirsyncer.timeRange.start
Start of time range to show.
Type: string
Declared by:
accounts.calendar.accounts.<name>.vdirsyncer.tokenFile
A file path where access tokens are stored.
Type: null or string
Default:
null
Declared by:
accounts.calendar.accounts.<name>.vdirsyncer.urlCommand
A command that prints the URL of the storage.
Type: null or (list of string)
Default:
null
Example:
[
"~/get-url.sh"
]
Declared by:
accounts.calendar.accounts.<name>.vdirsyncer.useVcard4
Specifies whether vdirsyncer should request vCards in version 4.0.
If set to false then vdirsyncer will default to version 3.0.
Type: boolean
Default:
false
Declared by:
accounts.calendar.accounts.<name>.vdirsyncer.userAgent
The user agent to report to the server. Defaults to
vdirsyncer.
Type: null or string
Default:
null
Declared by:
accounts.calendar.accounts.<name>.vdirsyncer.userNameCommand
A command that prints the user name to standard output.
Type: null or (list of string)
Default:
null
Example:
[
"~/get-username.sh"
]
Declared by:
accounts.calendar.accounts.<name>.vdirsyncer.verify
Null or path to certificate to verify SSL against
Type: null or absolute path
Default:
null
Example:
"/path/to/cert.pem"
Declared by:
accounts.calendar.accounts.<name>.vdirsyncer.verifyFingerprint
Optional. SHA1 or MD5 fingerprint of the expected server certificate.
See https://vdirsyncer.pimutils.org/en/stable/ssl-tutorial.html#ssl-tutorial for more information.
Type: null or string
Default:
null
Declared by:
accounts.calendar.basePath
The base directory in which to save calendars. May be a relative path, in which case it is relative the home directory.
Type: string
Example:
".calendar"
Declared by:
accounts.contact.accounts
List of contacts.
Type: attribute set of (submodule)
Default:
{ }
Declared by:
- <home-manager/modules/programs/thunderbird.nix>
- <home-manager/modules/programs/khard.nix>
- <home-manager/modules/accounts/contacts.nix>
accounts.contact.accounts.<name>.khal.enable
Whether to enable khal access.
Type: boolean
Default:
false
Example:
true
Declared by:
accounts.contact.accounts.<name>.khal.addresses
Email addresses to be associated with this account. Used to check the participation status (“PARTSTAT”), refer to khal documentation.
Type: list of string
Default:
[ ]
Declared by:
accounts.contact.accounts.<name>.khal.collections
VCARD collections to be searched for contact birthdays.
Type: null or (list of string)
Default:
null
Declared by:
accounts.contact.accounts.<name>.khal.color
Color in which events in this calendar are displayed. For instance ‘light green’ or an RGB color ‘#ff0000’
Type: null or string
Default:
null
Example:
"light green"
Declared by:
accounts.contact.accounts.<name>.khal.priority
Priority of a calendar used for coloring (calendar with highest priority is preferred).
Type: signed integer
Default:
10
Declared by:
accounts.contact.accounts.<name>.khal.readOnly
Keep khal from making any changes to this account.
Type: boolean
Default:
false
Declared by:
accounts.contact.accounts.<name>.khard.enable
Whether to enable khard access.
Type: boolean
Default:
false
Example:
true
Declared by:
accounts.contact.accounts.<name>.khard.addressbooks
If provided, each item on this list will generate an entry on khard configuration file as a separate addressbook (vdir).
This is used for hardcoding sub-directories under the local storage path (accounts.contact.accounts.<name>.local.path) for khard. The default value will set the aforementioned path as a single vdir.
Type: (list of string) or string convertible to it
Default:
[
""
]
Declared by:
accounts.contact.accounts.<name>.khard.glob
The glob expansion to be searched for contacts when type is set to discover.
Type: string
Default:
"*"
Declared by:
accounts.contact.accounts.<name>.khard.type
Either a single vdir located in or multiple automatically discovered vdirs in /.
Type: one of “vdir”, “discover”
Default:
"vdir"
Declared by:
accounts.contact.accounts.<name>.local
Local configuration for the contacts.
Type: submodule
Default:
{ }
Declared by:
accounts.contact.accounts.<name>.local.encoding
File encoding for items, both content and file name. Defaults to UTF-8.
Type: null or string
Default:
null
Declared by:
accounts.contact.accounts.<name>.local.fileExt
The file extension to use.
Type: null or string
Default:
".vcf"
Declared by:
accounts.contact.accounts.<name>.local.path
The path of the storage.
Type: string
Default:
‹accounts.contact.basePath›/‹name›
Declared by:
accounts.contact.accounts.<name>.local.type
The type of the storage.
Type: one of “filesystem”, “singlefile”
Default:
"filesystem"
Declared by:
accounts.contact.accounts.<name>.name
Unique identifier of the contact account. This is set to the attribute name of the contact configuration.
Type: string (read only)
Declared by:
accounts.contact.accounts.<name>.pimsync.enable
Whether to enable synchronization using pimsync.
Type: boolean
Default:
false
Example:
true
Declared by:
accounts.contact.accounts.<name>.pimsync.extraLocalStorageDirectives
Extra directives that should be added under this accounts local storage directive
Type: anything
Default:
[ ]
Declared by:
accounts.contact.accounts.<name>.pimsync.extraPairDirectives
Extra directives that should be added under this accounts pair directive
Type: anything
Default:
[ ]
Example:
[
{
name = "collections";
params = [
"all"
];
}
]
Declared by:
accounts.contact.accounts.<name>.pimsync.extraRemoteStorageDirectives
Extra directives that should be added under this accounts remote storage directive
Type: anything
Default:
[ ]
Example:
[
{
name = "interval";
params = [
60
];
}
]
Declared by:
accounts.contact.accounts.<name>.remote
Remote configuration for the contacts.
Type: null or (submodule)
Default:
null
Declared by:
accounts.contact.accounts.<name>.remote.passwordCommand
A command that prints the password to standard output.
Type: null or (list of string)
Default:
null
Example:
[
"pass"
"caldav"
]
Declared by:
accounts.contact.accounts.<name>.remote.type
The type of the storage.
Type: one of “carddav”, “http”, “google_contacts”
Declared by:
accounts.contact.accounts.<name>.remote.url
The URL of the storage.
Type: null or string
Default:
null
Declared by:
accounts.contact.accounts.<name>.remote.userName
User name for authentication.
Type: null or string
Default:
null
Declared by:
accounts.contact.accounts.<name>.thunderbird.enable
Whether to enable the Thunderbird mail client for this account.
Type: boolean
Default:
false
Example:
true
Declared by:
accounts.contact.accounts.<name>.thunderbird.profiles
List of Thunderbird profiles for which this account should be enabled. If this list is empty (the default), this account will be enabled for all declared profiles.
Type: list of string
Default:
[ ]
Example:
[
"profile1"
"profile2"
]
Declared by:
accounts.contact.accounts.<name>.thunderbird.token
A token is generated when adding an address book manually to Thunderbird, this can be entered here.
Type: null or string
Default:
null
Example:
"secret_token"
Declared by:
accounts.contact.accounts.<name>.vdirsyncer.enable
Whether to enable synchronization using vdirsyncer.
Type: boolean
Default:
false
Example:
true
Declared by:
accounts.contact.accounts.<name>.vdirsyncer.auth
Authentication settings. The default is basic.
Type: null or one of “basic”, “digest”, “guess”
Default:
null
Declared by:
accounts.contact.accounts.<name>.vdirsyncer.authCert
Either a path to a certificate with a client certificate and the key or a list of paths to the files with them.
Type: null or string or list of string
Default:
null
Declared by:
accounts.contact.accounts.<name>.vdirsyncer.clientIdCommand
A command that prints the OAuth credentials to standard output.
See https://vdirsyncer.pimutils.org/en/stable/config.html#google for more information.
Type: null or (list of string)
Default:
null
Example:
[
"pass"
"client_id"
]
Declared by:
accounts.contact.accounts.<name>.vdirsyncer.clientSecretCommand
A command that prints the OAuth credentials to standard output.
See https://vdirsyncer.pimutils.org/en/stable/config.html#google for more information.
Type: null or (list of string)
Default:
null
Example:
[
"pass"
"client_secret"
]
Declared by:
accounts.contact.accounts.<name>.vdirsyncer.collections
The collections to synchronize between the storages.
Type: null or (list of (string or list of string))
Default:
null
Declared by:
accounts.contact.accounts.<name>.vdirsyncer.conflictResolution
What to do in case of a conflict between the storages. Either
remote wins or
local wins or
a list that contains a command to run. By default, an error
message is printed.
Type: null or one of “remote wins”, “local wins” or list of string
Default:
null
Declared by:
accounts.contact.accounts.<name>.vdirsyncer.itemTypes
Kinds of items to show. The default is to show everything. This depends on particular features of the server, the results are not validated.
Type: null or (list of string)
Default:
null
Declared by:
accounts.contact.accounts.<name>.vdirsyncer.metadata
Metadata keys that should be synchronized when vdirsyncer metasync is executed.
Type: list of string
Default:
[ ]
Example:
[
"color"
"displayname"
]
Declared by:
accounts.contact.accounts.<name>.vdirsyncer.partialSync
What should happen if synchronization in one direction
is impossible due to one storage being read-only.
Defaults to revert.
See https://vdirsyncer.pimutils.org/en/stable/config.html#pair-section for more information.
Type: null or one of “revert”, “error”, “ignore”
Default:
null
Declared by:
accounts.contact.accounts.<name>.vdirsyncer.postHook
Command to call for each item creation and modification. The command will be called with the path of the new/updated file.
Type: null or strings concatenated with “\n”
Default:
null
Declared by:
accounts.contact.accounts.<name>.vdirsyncer.timeRange
A time range to synchronize. start and end can be any Python
expression that returns a datetime.datetime
object.
Type: null or (submodule)
Default:
null
Example:
{
end = "datetime.now() + timedelta(days=365)";
start = "datetime.now() - timedelta(days=365)";
}
Declared by:
accounts.contact.accounts.<name>.vdirsyncer.timeRange.end
End of time range to show.
Type: string
Declared by:
accounts.contact.accounts.<name>.vdirsyncer.timeRange.start
Start of time range to show.
Type: string
Declared by:
accounts.contact.accounts.<name>.vdirsyncer.tokenFile
A file path where access tokens are stored.
Type: null or string
Default:
null
Declared by:
accounts.contact.accounts.<name>.vdirsyncer.urlCommand
A command that prints the URL of the storage.
Type: null or (list of string)
Default:
null
Example:
[
"~/get-url.sh"
]
Declared by:
accounts.contact.accounts.<name>.vdirsyncer.useVcard4
Specifies whether vdirsyncer should request vCards in version 4.0.
If set to false then vdirsyncer will default to version 3.0.
Type: boolean
Default:
false
Declared by:
accounts.contact.accounts.<name>.vdirsyncer.userAgent
The user agent to report to the server. Defaults to
vdirsyncer.
Type: null or string
Default:
null
Declared by:
accounts.contact.accounts.<name>.vdirsyncer.userNameCommand
A command that prints the user name to standard output.
Type: null or (list of string)
Default:
null
Example:
[
"~/get-username.sh"
]
Declared by:
accounts.contact.accounts.<name>.vdirsyncer.verify
Null or path to certificate to verify SSL against
Type: null or absolute path
Default:
null
Example:
"/path/to/cert.pem"
Declared by:
accounts.contact.accounts.<name>.vdirsyncer.verifyFingerprint
Optional. SHA1 or MD5 fingerprint of the expected server certificate.
See https://vdirsyncer.pimutils.org/en/stable/ssl-tutorial.html#ssl-tutorial for more information.
Type: null or string
Default:
null
Declared by:
accounts.contact.basePath
The base directory in which to save contacts. May be a relative path, in which case it is relative the home directory.
Type: string
Declared by:
accounts.email.accounts
List of email accounts.
Type: attribute set of (submodule)
Default:
{ }
Declared by:
- <home-manager/modules/programs/thunderbird.nix>
- <home-manager/modules/programs/offlineimap>
- <home-manager/modules/programs/notmuch>
- <home-manager/modules/programs/neomutt>
- <home-manager/modules/programs/mujmap.nix>
- <home-manager/modules/programs/mu.nix>
- <home-manager/modules/programs/msmtp>
- <home-manager/modules/programs/meli.nix>
- <home-manager/modules/programs/mbsync>
- <home-manager/modules/programs/lieer.nix>
- <home-manager/modules/programs/himalaya.nix>
- <home-manager/modules/programs/getmail>
- <home-manager/modules/programs/astroid>
- <home-manager/modules/programs/alot>
- <home-manager/modules/programs/aerc>
- <home-manager/modules/services/imapnotify>
- <home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.enable
Whether this account is enabled. Potentially useful to allow setting email configuration globally then enabling or disabling on specific systems.
Type: boolean
Default:
true
Declared by:
accounts.email.accounts.<name>.address
The email address of this account.
Type: string matching the pattern .*@.*
Example:
"jane.doe@example.org"
Declared by:
accounts.email.accounts.<name>.aerc.enable
Whether to enable aerc.
Type: boolean
Default:
false
Example:
true
Declared by:
accounts.email.accounts.<name>.aerc.extraAccounts
Extra config added to the configuration section for this account in
$HOME/.config/aerc/accounts.conf.
See aerc-accounts(5).
Type: attribute set of (values (null, bool, int, string, or float) or a list of values, that will be joined with a comma)
Default:
{ }
Example:
{
source = "maildir://~/Maildir/example";
}
Declared by:
accounts.email.accounts.<name>.aerc.extraBinds
Extra bindings specific to this account, added to
$HOME/.config/aerc/binds.conf.
See aerc-binds(5).
Type: attribute set of (strings concatenated with “\n” or attribute set of (values (null, bool, int, string, or float) or a list of values, that will be joined with a comma))
Default:
{ }
Example:
{ messages = { d = ":move ${folder.trash}<Enter>"; }; }
Declared by:
accounts.email.accounts.<name>.aerc.extraConfig
Config specific to this account, added to $HOME/.config/aerc/aerc.conf.
Aerc only supports per-account UI configuration.
For other sections of $HOME/.config/aerc/aerc.conf,
use programs.aerc.extraConfig.
See aerc-config(5).
Type: attribute set of (strings concatenated with “\n” or attribute set of (values (null, bool, int, string, or float) or a list of values, that will be joined with a comma))
Default:
{ }
Example:
{
ui = {
sidebar-width = 25;
};
}
Declared by:
accounts.email.accounts.<name>.aerc.imapAuth
Sets the authentication mechanism if imap is used as the incoming
method.
See aerc-imap(5).
Type: null or one of “oauthbearer”, “xoauth2”
Default:
null
Example:
"auth"
Declared by:
accounts.email.accounts.<name>.aerc.imapOauth2Params
Sets the oauth2 params if authentication mechanism oauthbearer or
xoauth2 is used.
See aerc-imap(5).
Type: null or (submodule)
Default:
null
Example:
{
token_endpoint = "<token_endpoint>";
}
Declared by:
accounts.email.accounts.<name>.aerc.imapOauth2Params.client_id
The OAuth2 client identifier.
Type: null or string
Default:
null
Declared by:
accounts.email.accounts.<name>.aerc.imapOauth2Params.client_secret
The OAuth2 client secret.
Type: null or string
Default:
null
Declared by:
accounts.email.accounts.<name>.aerc.imapOauth2Params.scope
The OAuth2 requested scope.
Type: null or string
Default:
null
Declared by:
accounts.email.accounts.<name>.aerc.imapOauth2Params.token_endpoint
The OAuth2 token endpoint.
Type: null or string
Default:
null
Declared by:
accounts.email.accounts.<name>.aerc.smtpAuth
Sets the authentication mechanism if smtp is used as the outgoing
method.
See aerc-smtp(5).
Type: null or one of “none”, “plain”, “login”, “oauthbearer”, “xoauth2”
Default:
"plain"
Example:
"auth"
Declared by:
accounts.email.accounts.<name>.aerc.smtpOauth2Params
Sets the oauth2 params if authentication mechanism oauthbearer or
xoauth2 is used.
See aerc-imap(5).
Type: null or (submodule)
Default:
null
Example:
{
token_endpoint = "<token_endpoint>";
}
Declared by:
accounts.email.accounts.<name>.aerc.smtpOauth2Params.client_id
The OAuth2 client identifier.
Type: null or string
Default:
null
Declared by:
accounts.email.accounts.<name>.aerc.smtpOauth2Params.client_secret
The OAuth2 client secret.
Type: null or string
Default:
null
Declared by:
accounts.email.accounts.<name>.aerc.smtpOauth2Params.scope
The OAuth2 requested scope.
Type: null or string
Default:
null
Declared by:
accounts.email.accounts.<name>.aerc.smtpOauth2Params.token_endpoint
The OAuth2 token endpoint.
Type: null or string
Default:
null
Declared by:
accounts.email.accounts.<name>.aliases
Alternative identities of this account.
Type: list of (string matching the pattern .*@.* or (submodule))
Default:
[ ]
Example:
[
"webmaster@example.org"
"admin@example.org"
]
Declared by:
accounts.email.accounts.<name>.alot.contactCompletion
Contact completion configuration as expected per alot. See alot’s wiki for explanation about possible values.
Type: attribute set of string
Default:
{
type = "shellcommand";
command = "'${pkgs.notmuch}/bin/notmuch address --format=json --output=recipients date:6M..'";
regexp =
"'\\[?{" + ''"name": "(?P<name>.*)", "address": "(?P<email>.+)", "name-addr": ".*"'' + "}[,\\]]?'";
shellcommand_external_filtering = "False";
}
Example:
{
type = "shellcommand";
command = "abook --mutt-query";
regexp = "'^(?P<email>[^@]+@[^\t]+)\t+(?P<name>[^\t]+)'";
ignorecase = "True";
}
Declared by:
accounts.email.accounts.<name>.alot.extraConfig
Extra settings to add to this Alot account configuration.
Type: strings concatenated with “\n”
Default:
""
Declared by:
accounts.email.accounts.<name>.alot.sendMailCommand
Command to send a mail. If msmtp is enabled for the account,
then this is set to
msmtpq --read-envelope-from --read-recipients.
Type: null or string
Default:
null
Declared by:
accounts.email.accounts.<name>.astroid.enable
Whether to enable Astroid.
Type: boolean
Default:
false
Example:
true
Declared by:
accounts.email.accounts.<name>.astroid.extraConfig
Extra settings to add to this astroid account configuration.
Type: attribute set of anything
Default:
{ }
Example:
{
select_query = "";
}
Declared by:
accounts.email.accounts.<name>.astroid.sendMailCommand
Command to send a mail. If msmtp is enabled for the account,
then this is set to
msmtpq --read-envelope-from --read-recipients.
Type: string
Declared by:
accounts.email.accounts.<name>.ews
The EWS configuration to use for this account.
Type: null or (submodule)
Default:
null
Declared by:
accounts.email.accounts.<name>.ews.authentication
The authentication mechanism.
Type: null or string or one of “anonymous”, “apop”, “clear”, “cram_md5”, “digest_md5”, “gssapi”, “login”, “ntlm”, “plain”, “xoauth2”
Default:
null
Example:
"plain"
Declared by:
accounts.email.accounts.<name>.ews.host
Hostname of EWS server.
Type: string
Example:
"ews.example.org"
Declared by:
accounts.email.accounts.<name>.ews.serviceDescriptionURL
URL to EWS service description.
Type: string
Example:
"https://ews.example.org/ews/exchange.asmx"
Declared by:
accounts.email.accounts.<name>.ews.tls
Configuration for secure connections.
Type: submodule
Default:
{ }
Declared by:
accounts.email.accounts.<name>.ews.tls.enable
Whether to enable TLS/SSL.
Type: boolean
Default:
true
Declared by:
accounts.email.accounts.<name>.ews.tls.certificatesFile
Path to file containing certificate authorities that should
be used to validate the connection authenticity. If
null then the system default is used.
Note, if set then the system default may still be accepted.
Type: null or absolute path
Default:
"config.accounts.email.certificatesFile"
Declared by:
accounts.email.accounts.<name>.ews.tls.useStartTls
Whether to use STARTTLS. This is discouraged and should be avoided if possible. See https://datatracker.ietf.org/doc/html/rfc8314 for more.
Type: boolean
Default:
false
Declared by:
accounts.email.accounts.<name>.flavor
Some email providers have peculiar behavior that require special treatment. This option is therefore intended to indicate the nature of the provider.
When this indicates a specific provider then, for example, the IMAP, SMTP, and JMAP server configuration may be set automatically.
Type: one of “davmail”, “fastmail.com”, “gmail.com”, “mailbox.org”, “migadu.com”, “outlook.office365.com-ews”, “outlook.office365.com”, “plain”, “posteo.de”, “runbox.com”, “yandex.com”
Default:
"plain"
Declared by:
accounts.email.accounts.<name>.folders
Standard email folders.
Type: submodule
Default:
{ }
Declared by:
accounts.email.accounts.<name>.folders.drafts
Relative path of the drafts mail folder.
Type: null or string
Default:
"Drafts"
Declared by:
accounts.email.accounts.<name>.folders.inbox
Relative path of the inbox mail.
Type: string
Default:
"Inbox"
Declared by:
accounts.email.accounts.<name>.folders.sent
Relative path of the sent mail folder.
Type: null or string
Default:
"Sent"
Declared by:
accounts.email.accounts.<name>.folders.trash
Relative path of the deleted mail folder.
Type: string
Default:
"Trash"
Declared by:
accounts.email.accounts.<name>.getmail.enable
Whether to enable the getmail mail retriever for this account.
Type: boolean
Default:
false
Example:
true
Declared by:
accounts.email.accounts.<name>.getmail.delete
Enable if you want to delete read messages from the server. Most
users should either enable delete or disable
readAll.
Type: boolean
Default:
false
Declared by:
accounts.email.accounts.<name>.getmail.destinationCommand
Specify a command delivering the incoming mail to your maildir.
Type: null or string
Default:
null
Example:
"\${pkgs.maildrop}/bin/maildrop"
Declared by:
accounts.email.accounts.<name>.getmail.mailboxes
A non-empty list of mailboxes. To download all mail you can
use the ALL mailbox.
Type: non-empty (list of string)
Default:
[ ]
Example:
[
"INBOX"
"INBOX.spam"
]
Declared by:
accounts.email.accounts.<name>.getmail.readAll
Enable if you want to fetch all, even the read messages from the
server. Most users should either enable delete or
disable readAll.
Type: boolean
Default:
true
Declared by:
accounts.email.accounts.<name>.gpg
GPG configuration.
Type: null or (submodule)
Default:
null
Declared by:
accounts.email.accounts.<name>.gpg.encryptByDefault
Encrypt outgoing messages by default.
Type: boolean
Default:
false
Declared by:
accounts.email.accounts.<name>.gpg.key
The key to use as listed in gpg --list-keys.
Type: string
Declared by:
accounts.email.accounts.<name>.gpg.signByDefault
Sign messages by default.
Type: boolean
Default:
false
Declared by:
accounts.email.accounts.<name>.himalaya.enable
Whether to enable the email client Himalaya CLI for this email account.
Type: boolean
Default:
false
Example:
true
Declared by:
accounts.email.accounts.<name>.himalaya.settings
Himalaya CLI configuration for this email account. See https://github.com/pimalaya/himalaya/blob/master/config.sample.toml for supported values.
Type: open submodule of (TOML value)
Default:
{ }
Declared by:
accounts.email.accounts.<name>.imap
The IMAP configuration to use for this account.
Type: null or (submodule)
Default:
null
Declared by:
accounts.email.accounts.<name>.imap.authentication
The authentication mechanism.
Type: null or string or one of “anonymous”, “apop”, “clear”, “cram_md5”, “digest_md5”, “gssapi”, “login”, “ntlm”, “plain”, “xoauth2”
Default:
null
Example:
"plain"
Declared by:
accounts.email.accounts.<name>.imap.host
Hostname of IMAP server.
Type: string
Example:
"imap.example.org"
Declared by:
accounts.email.accounts.<name>.imap.port
The port on which the IMAP server listens. If
null then the default port is used.
Type: null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
null
Example:
993
Declared by:
accounts.email.accounts.<name>.imap.tls
Configuration for secure connections.
Type: submodule
Default:
{ }
Declared by:
accounts.email.accounts.<name>.imap.tls.enable
Whether to enable TLS/SSL.
Type: boolean
Default:
true
Declared by:
accounts.email.accounts.<name>.imap.tls.certificatesFile
Path to file containing certificate authorities that should
be used to validate the connection authenticity. If
null then the system default is used.
Note, if set then the system default may still be accepted.
Type: null or absolute path
Default:
"config.accounts.email.certificatesFile"
Declared by:
accounts.email.accounts.<name>.imap.tls.useStartTls
Whether to use STARTTLS. This is discouraged and should be avoided if possible. See https://datatracker.ietf.org/doc/html/rfc8314 for more.
Type: boolean
Default:
false
Declared by:
accounts.email.accounts.<name>.imapnotify.enable
Whether to enable imapnotify.
Type: boolean
Default:
false
Example:
true
Declared by:
accounts.email.accounts.<name>.imapnotify.boxes
IMAP folders to watch.
Type: list of string
Default:
[ ]
Example:
[
"Inbox"
"[Gmail]/MyLabel"
]
Declared by:
accounts.email.accounts.<name>.imapnotify.extraArgs
Extra arguments to pass to goimapnotify.
Type: list of string
Default:
[ ]
Example:
[
"-wait 1"
]
Declared by:
accounts.email.accounts.<name>.imapnotify.extraConfig
Additional configuration to add for this account.
Type: JSON value
Default:
{ }
Declared by:
accounts.email.accounts.<name>.imapnotify.onNotify
Shell commands to run on any event.
Type: string or attribute set of string
Default:
""
Example:
"\${pkgs.isync}/bin/mbsync test-%s"
Declared by:
accounts.email.accounts.<name>.imapnotify.onNotifyPost
Shell commands to run after onNotify event.
Type: string or attribute set of string
Default:
""
Example:
{
mail = "\${pkgs.notmuch}/bin/notmuch new && \${pkgs.libnotify}/bin/notify-send 'New mail arrived'";
}
Declared by:
accounts.email.accounts.<name>.jmap
The JMAP configuration to use for this account.
Type: null or (submodule)
Default:
null
Declared by:
accounts.email.accounts.<name>.jmap.host
Hostname of JMAP server.
If both this option and are specified,
host is preferred by applications when establishing a
session.
Type: null or string
Default:
null
Example:
"jmap.example.org"
Declared by:
accounts.email.accounts.<name>.jmap.sessionUrl
URL for the JMAP Session resource.
If both this option and are specified,
host is preferred by applications when establishing a
session.
Type: null or string
Default:
null
Example:
"https://jmap.example.org:443/.well-known/jmap"
Declared by:
accounts.email.accounts.<name>.lieer.enable
Whether to enable lieer Gmail synchronization for notmuch.
Type: boolean
Default:
false
Example:
true
Declared by:
accounts.email.accounts.<name>.lieer.notmuchSetupWarning
Warn if Notmuch is not also enabled for this account.
This can safely be disabled if notmuch init
has been used to configure this account outside of Home
Manager.
Type: boolean
Default:
true
Declared by:
accounts.email.accounts.<name>.lieer.settings
Settings which are applied to .gmailieer.json
for the account.
See the lieer manual for documentation of settings not explicitly covered by this module.
Type: open submodule of (JSON value)
Default:
{ }
Declared by:
accounts.email.accounts.<name>.lieer.settings.drop_non_existing_label
Allow missing labels on the Gmail side to be dropped.
Type: boolean
Default:
false
Declared by:
accounts.email.accounts.<name>.lieer.settings.file_extension
Extension to include in local file names, which can be useful for indexing with third-party programs.
Type: string
Default:
""
Example:
"mbox"
Declared by:
accounts.email.accounts.<name>.lieer.settings.ignore_empty_history
Work around a Gmail API quirk where an empty change history is sometimes returned.
See this GitHub issue for more details.
Type: boolean
Default:
false
Declared by:
accounts.email.accounts.<name>.lieer.settings.ignore_remote_labels
Set Gmail labels to ignore when syncing from remote labels to local tags (before translations).
Type: list of string
Default:
[
"CATEGORY_FORUMS"
"CATEGORY_PROMOTIONS"
"CATEGORY_UPDATES"
"CATEGORY_SOCIAL"
"CATEGORY_PERSONAL"
]
Declared by:
accounts.email.accounts.<name>.lieer.settings.ignore_tags
Set labels to ignore when syncing from local tags to remote labels (after translations).
Type: list of string
Default:
[ ]
Declared by:
accounts.email.accounts.<name>.lieer.settings.local_trash_tag
Local tag to which the remote Gmail ‘TRASH’ label is translated.
Type: string
Default:
"trash"
Declared by:
accounts.email.accounts.<name>.lieer.settings.remove_local_messages
Remove local messages that have been deleted on the remote.
Type: boolean
Default:
true
Declared by:
accounts.email.accounts.<name>.lieer.settings.replace_slash_with_dot
Replace ‘/’ with ‘.’ in Gmail labels.
Type: boolean
Default:
false
Declared by:
accounts.email.accounts.<name>.lieer.settings.timeout
HTTP timeout in seconds. 0 means forever or system timeout.
Type: unsigned integer, meaning >=0
Default:
600
Declared by:
accounts.email.accounts.<name>.lieer.sync.enable
Whether to enable lieer synchronization service.
Type: boolean
Default:
false
Example:
true
Declared by:
accounts.email.accounts.<name>.lieer.sync.frequency
How often to synchronize the account.
This value is passed to the systemd timer configuration as the
onCalendar option. See
systemd.time(7)
for more information about the format.
Type: string
Default:
"*:0/5"
Declared by:
accounts.email.accounts.<name>.maildir
Maildir configuration for this account.
Type: null or (submodule)
Default:
{
path = "\${name}";
}
Declared by:
accounts.email.accounts.<name>.maildir.path
Path to maildir directory where mail for this account is stored. This is relative to the base maildir path.
Type: string
Declared by:
accounts.email.accounts.<name>.mbsync.enable
Whether to enable synchronization using mbsync.
Type: boolean
Default:
false
Example:
true
Declared by:
accounts.email.accounts.<name>.mbsync.create
Automatically create missing mailboxes within the given mail store.
Type: one of “none”, “maildir”, “imap”, “both”
Default:
"none"
Example:
"maildir"
Declared by:
accounts.email.accounts.<name>.mbsync.expunge
Permanently remove messages marked for deletion from the given mail store.
Type: one of “none”, “maildir”, “imap”, “both”
Default:
"none"
Example:
"both"
Declared by:
accounts.email.accounts.<name>.mbsync.extraConfig.account
Account section extra configuration.
Type: attribute set of (string or signed integer or boolean or list of string)
Default:
{ }
Example:
{
TLSType = "IMAP";
TLSVersions = [ "+1.3" "+1.2" "-1.1" ];
PipelineDepth = 10;
Timeout = 60;
};
Declared by:
accounts.email.accounts.<name>.mbsync.extraConfig.channel
Per channel extra configuration.
Type: attribute set of (string or signed integer or boolean or list of string)
Default:
{ }
Example:
{
MaxMessages = 10000;
MaxSize = "1m";
};
Declared by:
accounts.email.accounts.<name>.mbsync.extraConfig.local
Local store extra configuration.
Type: attribute set of (string or signed integer or boolean or list of string)
Default:
{ }
Declared by:
accounts.email.accounts.<name>.mbsync.extraConfig.remote
Remote store extra configuration.
Type: attribute set of (string or signed integer or boolean or list of string)
Default:
{ }
Declared by:
accounts.email.accounts.<name>.mbsync.flatten
If set, flattens the hierarchy within the maildir by
substituting the canonical hierarchy delimiter
/ with this value.
Type: null or string
Default:
null
Example:
"."
Declared by:
accounts.email.accounts.<name>.mbsync.groups
Some email providers (Gmail) have a different directory hierarchy for
synchronized email messages. Namely, when using mbsync without specifying
a set of channels into a group, all synchronized directories end up beneath
the [Gmail]/ directory.
This option allows you to specify a group, and subsequently channels that will allow you to sync your mail into an arbitrary hierarchy.
Type: attribute set of (submodule)
Default:
{ }
Declared by:
accounts.email.accounts.<name>.mbsync.groups.<name>.channels
List of channels that should be grouped together into this group. When performing a synchronization, the groups are synchronized, rather than the individual channels.
Using these channels and then grouping them together allows for you to define the maildir hierarchy as you see fit.
Type: attribute set of (submodule)
Default:
{ }
Declared by:
accounts.email.accounts.<name>.mbsync.groups.<name>.channels.<name>.extraConfig
Extra configuration lines to add to THIS channel’s configuration.
Type: attribute set of (string or signed integer or boolean or list of string)
Default:
{ }
Example:
{
CopyArrivalDate = "yes";
Create = "both";
MaxMessages = 10000;
MaxSize = "1m";
}
Declared by:
accounts.email.accounts.<name>.mbsync.groups.<name>.channels.<name>.farPattern
IMAP4 patterns for which mailboxes on the remote mail server to sync.
If Patterns are specified, farPattern
is interpreted as a prefix which is not matched against the patterns,
and is not affected by mailbox list overrides.
If this is left as the default, then mbsync will default to the pattern
INBOX.
Type: string
Default:
""
Example:
"[Gmail]/Sent Mail"
Declared by:
accounts.email.accounts.<name>.mbsync.groups.<name>.channels.<name>.name
The unique name for THIS channel in THIS group. The group will refer to this channel by this name.
In addition, you can manually sync just this channel by specifying this name to mbsync on the command line.
Type: string (read only)
Default:
"‹name›"
Declared by:
accounts.email.accounts.<name>.mbsync.groups.<name>.channels.<name>.nearPattern
Name for where mail coming from the remote (far) mail server will end up locally. The mailbox specified by the far pattern will be placed in this directory.
If this is left as the default, then mbsync will default to the pattern
INBOX.
Type: string
Default:
""
Example:
"Sent"
Declared by:
accounts.email.accounts.<name>.mbsync.groups.<name>.channels.<name>.patterns
Instead of synchronizing just the mailboxes that
match the farPattern, use it as a prefix which is
not matched against the patterns, and is not affected by mailbox list
overrides.
Type: list of string
Default:
[ ]
Example:
[
"INBOX"
]
Declared by:
accounts.email.accounts.<name>.mbsync.groups.<name>.name
The name of this group for this account. These names are different than some others, because they will hide channel names that are the same.
Type: string (read only)
Default:
"‹name›"
Declared by:
accounts.email.accounts.<name>.mbsync.patterns
Pattern of mailboxes to synchronize.
Type: list of string
Default:
[
"*"
]
Declared by:
accounts.email.accounts.<name>.mbsync.remove
Propagate mailbox deletions to the given mail store.
Type: one of “none”, “maildir”, “imap”, “both”
Default:
"none"
Example:
"imap"
Declared by:
accounts.email.accounts.<name>.mbsync.subFolders
The on-disk folder naming style. This option has no
effect when flatten is used.
Type: one of “Verbatim”, “Maildir++”, “Legacy”
Default:
"Verbatim"
Example:
"Maildir++"
Declared by:
accounts.email.accounts.<name>.meli.enable
Whether to enable the meli mail client for this account. Requires SMTP settings…
Type: boolean
Default:
false
Example:
true
Declared by:
accounts.email.accounts.<name>.meli.mailboxAliases
Folder display name
Type: attribute set of (attribute set)
Default:
{ }
Example:
{
INBOX = {
alias = "📥 Inbox";
};
Sent = {
alias = "📤 Sent";
};
}
Declared by:
accounts.email.accounts.<name>.meli.mailboxes
Mailboxes to show in meli
Type: list of string
Default:
[
"Inbox"
"Sent"
"Trash"
"Drafts"
]
Example:
[
"INBOX"
"Sent"
"Trash"
"Drafts"
]
Declared by:
accounts.email.accounts.<name>.meli.settings
Account specific meli configuration
Type: open submodule of (TOML value)
Default:
{ }
Declared by:
accounts.email.accounts.<name>.msmtp.enable
Whether to enable msmtp.
If enabled then it is possible to use the
--account command line
option to send a message for a given account using the
msmtp or msmtpq tool.
For example, msmtp --account=private would
send using the account defined in
accounts.email.accounts.private. If the
--account option is not
given then the primary account will be used.
Type: boolean
Default:
false
Declared by:
accounts.email.accounts.<name>.msmtp.extraConfig
Extra configuration options to add to ~/.msmtprc.
See https://marlam.de/msmtp/msmtprc.txt for
examples.
Type: attribute set of string
Default:
{ }
Example:
{
auth = "login";
}
Declared by:
accounts.email.accounts.<name>.msmtp.tls.fingerprint
Fingerprint of a trusted TLS certificate.
The fingerprint can be obtained by executing
msmtp --serverinfo --tls --tls-certcheck=off.
Type: null or string matching the pattern ([[:alnum:]]{2}:)+[[:alnum:]]{2}
Default:
null
Example:
"my:SH:a2:56:ha:sh"
Declared by:
accounts.email.accounts.<name>.mu.enable
Whether to enable mu indexing.
Type: boolean
Default:
false
Example:
true
Declared by:
accounts.email.accounts.<name>.mujmap.enable
Whether to enable mujmap JMAP synchronization for notmuch.
Type: boolean
Default:
false
Example:
true
Declared by:
accounts.email.accounts.<name>.mujmap.notmuchSetupWarning
Warn if Notmuch is not also enabled for this account.
This can safely be disabled if mujmap.toml is managed
outside of Home Manager.
Type: boolean
Default:
true
Declared by:
accounts.email.accounts.<name>.mujmap.settings
Settings which are applied to mujmap.toml
for the account.
See the mujmap project for documentation of settings not explicitly covered by this module.
Type: open submodule of (TOML value)
Default:
{ }
Declared by:
accounts.email.accounts.<name>.mujmap.settings.auto_create_new_mailboxes
Whether to create new mailboxes automatically on the server from notmuch tags.
Type: boolean
Default:
true
Declared by:
accounts.email.accounts.<name>.mujmap.settings.cache_dir
The cache directory in which to store mail files while they are being downloaded. The default is operating-system specific.
Type: null or string
Default:
null
Declared by:
accounts.email.accounts.<name>.mujmap.settings.fqdn
Fully qualified domain name of the JMAP service.
mujmap looks up the JMAP SRV record for this host to determine the JMAP session URL. Mutually exclusive with .
Type: null or string
Default:
null
Example:
"example.com"
Declared by:
accounts.email.accounts.<name>.mujmap.settings.password_command
Shell command which will print a password to stdout for basic HTTP authentication.
Type: null or string or list of string
Default:
null
Example:
"pass alice@example.com"
Declared by:
accounts.email.accounts.<name>.mujmap.settings.session_url
Session URL to connect to.
Type: null or string
Default:
null
Example:
"https://jmap.example.com/.well-known/jmap"
Declared by:
accounts.email.accounts.<name>.mujmap.settings.tags
Tag configuration.
Beware that there are quirks that require manual consideration if changing the values of these files; please see https://github.com/elizagamedev/mujmap/blob/main/mujmap.toml.example for more details.
Type: open submodule of (TOML value)
Default:
{ }
Declared by:
accounts.email.accounts.<name>.mujmap.settings.tags.deleted
Tag for notmuch to use for messages stored in the mailbox labeled with the
Trash name attribute.
If set to an empty string, this mailbox and its child mailboxes are not synchronized with a tag.
Type: string
Default:
"deleted"
Declared by:
accounts.email.accounts.<name>.mujmap.settings.tags.directory_separator
Directory separator for mapping notmuch tags to maildirs.
Type: string
Default:
"/"
Example:
"."
Declared by:
accounts.email.accounts.<name>.mujmap.settings.tags.important
Tag for notmuch to use for messages stored in the mailbox labeled with the
Important name attribute and/or with the $Important
keyword.
If set to an empty string, this mailbox, its child mailboxes, and these keywords are not synchronized with a tag.
Type: string
Default:
"important"
Declared by:
accounts.email.accounts.<name>.mujmap.settings.tags.inbox
Tag for notmuch to use for messages stored in the mailbox labeled with the
Inbox name attribute.
If set to an empty string, this mailbox and its child mailboxes are not synchronized with a tag.
Type: string
Default:
"inbox"
Declared by:
accounts.email.accounts.<name>.mujmap.settings.tags.lowercase
If true, translate all mailboxes to lowercase names when mapping to notmuch tags.
Type: boolean
Default:
false
Declared by:
accounts.email.accounts.<name>.mujmap.settings.tags.phishing
Tag for notmuch to use for the IANA $Phishing keyword.
If set to an empty string, this keyword is not synchronized with a tag.
Type: string
Default:
"phishing"
Declared by:
accounts.email.accounts.<name>.mujmap.settings.tags.sent
Tag for notmuch to use for messages stored in the mailbox labeled with the
Sent name attribute.
If set to an empty string, this mailbox and its child mailboxes are not synchronized with a tag.
Type: string
Default:
"sent"
Declared by:
accounts.email.accounts.<name>.mujmap.settings.tags.spam
Tag for notmuch to use for messages stored in the mailbox labeled with the
Junk name attribute and/or with the $Junk keyword,
except for messages with the $NotJunk keyword.
If set to an empty string, this mailbox, its child mailboxes, and these keywords are not synchronized with a tag.
Type: string
Default:
"spam"
Declared by:
accounts.email.accounts.<name>.mujmap.settings.username
Username for basic HTTP authentication.
Type: null or string
Default:
null
Example:
"alice@example.com"
Declared by:
accounts.email.accounts.<name>.name
Unique identifier of the account. This is set to the attribute name of the account configuration.
Type: string (read only)
Declared by:
accounts.email.accounts.<name>.neomutt.enable
Whether to enable NeoMutt.
Type: boolean
Default:
false
Example:
true
Declared by:
accounts.email.accounts.<name>.neomutt.extraConfig
Extra lines to add to the folder hook for this account.
Type: strings concatenated with “\n”
Default:
""
Example:
"color status cyan default"
Declared by:
accounts.email.accounts.<name>.neomutt.extraMailboxes
List of extra mailboxes
Type: list of (string or (submodule))
Default:
[ ]
Declared by:
accounts.email.accounts.<name>.neomutt.extraMailboxes.*.mailbox
Name of mailbox folder to be included
Type: string
Example:
"Sent"
accounts.email.accounts.<name>.neomutt.extraMailboxes.*.name
Name to display
Type: null or string
Default:
null
Example:
"Junk"
accounts.email.accounts.<name>.neomutt.extraMailboxes.*.type
Whether this mailbox is a maildir folder or an IMAP mailbox
Type: null or one of “maildir”, “imap”
Default:
null
Example:
"imap"
accounts.email.accounts.<name>.neomutt.mailboxName
Use a different name as mailbox name
Type: null or string
Default:
null
Example:
"==== <mailbox-name> ==="
Declared by:
accounts.email.accounts.<name>.neomutt.mailboxType
Whether this account uses maildir folders or IMAP mailboxes
Type: one of “maildir”, “imap”
Default:
"maildir"
Example:
"imap"
Declared by:
accounts.email.accounts.<name>.neomutt.sendMailCommand
Command to send a mail. If not set, neomutt will be in charge of sending mails.
Type: null or string
Default:
if config.msmtp.enable then
"msmtpq --read-envelope-from --read-recipients"
else
null
Example:
"msmtpq --read-envelope-from --read-recipients"
Declared by:
accounts.email.accounts.<name>.neomutt.showDefaultMailbox
Show the default mailbox (INBOX)
Type: boolean
Default:
true
Declared by:
accounts.email.accounts.<name>.notmuch.enable
Whether to enable notmuch indexing.
Type: boolean
Default:
false
Example:
true
Declared by:
accounts.email.accounts.<name>.notmuch.neomutt.enable
Whether to enable Notmuch support in NeoMutt.
Type: boolean
Default:
true
Example:
true
Declared by:
accounts.email.accounts.<name>.notmuch.neomutt.virtualMailboxes
List of virtual mailboxes using Notmuch queries
Type: list of (submodule)
Default:
[
{
name = "My INBOX";
query = "tag:inbox";
}
]
Example:
[
{
name = "My INBOX";
query = "tag:inbox";
}
]
Declared by:
accounts.email.accounts.<name>.notmuch.neomutt.virtualMailboxes.*.limit
Restricts number of messages/threads in the result.
Type: null or signed integer
Default:
null
Example:
10
Declared by:
accounts.email.accounts.<name>.notmuch.neomutt.virtualMailboxes.*.name
Name to display
Type: string
Default:
"My INBOX"
Example:
"My INBOX"
Declared by:
accounts.email.accounts.<name>.notmuch.neomutt.virtualMailboxes.*.query
Notmuch query
Type: string
Default:
"tag:inbox"
Example:
"tag:inbox"
Declared by:
accounts.email.accounts.<name>.notmuch.neomutt.virtualMailboxes.*.type
Reads all matching messages or whole-threads. The default is ‘messages’ or nm_query_type.
Type: null or one of “threads”, “messages”
Default:
null
Example:
"threads"
Declared by:
accounts.email.accounts.<name>.offlineimap.enable
Whether to enable OfflineIMAP.
Type: boolean
Default:
false
Example:
true
Declared by:
accounts.email.accounts.<name>.offlineimap.extraConfig.account
Extra configuration options to add to the account section.
Type: attribute set of (string or signed integer or boolean)
Default:
{ }
Example:
{
autorefresh = 20;
}
Declared by:
accounts.email.accounts.<name>.offlineimap.extraConfig.local
Extra configuration options to add to the local account section.
Type: attribute set of (string or signed integer or boolean)
Default:
{ }
Example:
{
sync_deletes = true;
}
Declared by:
accounts.email.accounts.<name>.offlineimap.extraConfig.remote
Extra configuration options to add to the remote account section.
Type: attribute set of (string or signed integer or boolean)
Default:
{ }
Example:
{
expunge = false;
maxconnections = 2;
}
Declared by:
accounts.email.accounts.<name>.offlineimap.postSyncHookCommand
Command to run after fetching new mails.
Type: strings concatenated with “\n”
Default:
""
Declared by:
accounts.email.accounts.<name>.passwordCommand
A command, which when run writes the account password on standard output.
Type: null or string or list of string
Default:
null
Example:
"secret-tool lookup email me@example.org"
Declared by:
accounts.email.accounts.<name>.primary
Whether this is the primary account. Only one account may be set as primary.
Type: boolean
Default:
false
Declared by:
accounts.email.accounts.<name>.realName
Name displayed when sending mails.
Type: string
Example:
"Jane Doe"
Declared by:
accounts.email.accounts.<name>.signature
Signature configuration.
Type: submodule
Default:
{ }
Declared by:
accounts.email.accounts.<name>.signature.command
A command that generates a signature.
Type: null or absolute path
Default:
null
Example:
pkgs.writeScript "signature" "echo This is my signature"
Declared by:
accounts.email.accounts.<name>.signature.delimiter
The delimiter used between the document and the signature.
Type: string
Default:
''
--
''
Example:
~*~*~*~*~*~*~*~*~*~*~*~
Declared by:
accounts.email.accounts.<name>.signature.htmlFormat
Whether Thunderbird should interpret text as an HTML signature.
This maps to Thunderbird’s mail.identity.id_*.htmlSigFormat
preference. The signature content itself is still written through
mail.identity.id_*.htmlSigText.
Type: boolean
Default:
false
Declared by:
accounts.email.accounts.<name>.signature.showSignature
Method to communicate the signature.
Type: one of “append”, “attach”, “none”
Default:
"none"
Declared by:
accounts.email.accounts.<name>.signature.text
Signature content.
Type: string
Default:
""
Example:
''
--
Luke Skywalker
May the force be with you.
''
Declared by:
accounts.email.accounts.<name>.smtp
The SMTP configuration to use for this account.
Type: null or (submodule)
Default:
null
Declared by:
accounts.email.accounts.<name>.smtp.authentication
The authentication mechanism.
Type: null or string or one of “anonymous”, “apop”, “clear”, “cram_md5”, “digest_md5”, “gssapi”, “login”, “ntlm”, “plain”, “xoauth2”
Default:
null
Example:
"plain"
Declared by:
accounts.email.accounts.<name>.smtp.host
Hostname of SMTP server.
Type: string
Example:
"smtp.example.org"
Declared by:
accounts.email.accounts.<name>.smtp.port
The port on which the SMTP server listens. If
null then the default port is used.
Type: null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
null
Example:
465
Declared by:
accounts.email.accounts.<name>.smtp.tls
Configuration for secure connections.
Type: submodule
Default:
{ }
Declared by:
accounts.email.accounts.<name>.smtp.tls.enable
Whether to enable TLS/SSL.
Type: boolean
Default:
true
Declared by:
accounts.email.accounts.<name>.smtp.tls.certificatesFile
Path to file containing certificate authorities that should
be used to validate the connection authenticity. If
null then the system default is used.
Note, if set then the system default may still be accepted.
Type: null or absolute path
Default:
"config.accounts.email.certificatesFile"
Declared by:
accounts.email.accounts.<name>.smtp.tls.useStartTls
Whether to use STARTTLS. This is discouraged and should be avoided if possible. See https://datatracker.ietf.org/doc/html/rfc8314 for more.
Type: boolean
Default:
false
Declared by:
accounts.email.accounts.<name>.thunderbird.enable
Whether to enable the Thunderbird mail client for this account.
Type: boolean
Default:
false
Example:
true
Declared by:
accounts.email.accounts.<name>.thunderbird.messageFilters
List of message filters to add to this Thunderbird account configuration.
Home Manager writes these to Thunderbird’s per-account
msgFilterRules.dat file under the profile mail server
directory, for example ImapMail/<server>/msgFilterRules.dat.
Thunderbird does not publish a stable reference for all fields
in this file. To migrate existing filters, inspect an existing
msgFilterRules.dat file and translate each filter block into
this option.
Type: list of (submodule)
Default:
[ ]
Example:
[
{
action = "Mark read";
condition = "ALL";
enabled = true;
name = "Mark as Read on Archive";
type = "128";
}
]
Declared by:
accounts.email.accounts.<name>.thunderbird.messageFilters.*.enabled
Whether this filter is currently active.
Type: boolean
Default:
true
Declared by:
accounts.email.accounts.<name>.thunderbird.messageFilters.*.action
Action to perform on matched messages.
Type: string
Declared by:
accounts.email.accounts.<name>.thunderbird.messageFilters.*.actionValue
Argument passed to the filter action, e.g. a folder path.
Type: null or string
Default:
null
Declared by:
accounts.email.accounts.<name>.thunderbird.messageFilters.*.condition
Condition to match messages against.
Type: string
Declared by:
accounts.email.accounts.<name>.thunderbird.messageFilters.*.extraConfig
Extra settings to apply to the filter
Type: null or string
Default:
null
Declared by:
accounts.email.accounts.<name>.thunderbird.messageFilters.*.name
Name for the filter.
Type: string
Declared by:
accounts.email.accounts.<name>.thunderbird.messageFilters.*.text
The raw text of the filter. Note that this will override all other options.
Type: null or string
Default:
null
Declared by:
accounts.email.accounts.<name>.thunderbird.messageFilters.*.type
Thunderbird filter type bitmask written as the
type="..." field in msgFilterRules.dat.
Thunderbird does not publish a stable table for this
bitmask. To reuse an existing value, inspect the
account’s msgFilterRules.dat file and copy the
type="..." field from a comparable filter.
Type: string
Declared by:
accounts.email.accounts.<name>.thunderbird.perIdentitySettings
Extra settings to add to each identity of this Thunderbird
account configuration. The id given as
argument is an automatically generated identifier.
Type: function that evaluates to a(n) attribute set of (boolean or signed integer or string)
Default:
_: { }
Example:
id: {
"mail.identity.id_${id}.protectSubject" = false;
"mail.identity.id_${id}.autoEncryptDrafts" = false;
};
Declared by:
accounts.email.accounts.<name>.thunderbird.profiles
List of Thunderbird profiles for which this account should be enabled. If this list is empty (the default), this account will be enabled for all declared profiles.
Type: list of string
Default:
[ ]
Example:
[
"profile1"
"profile2"
]
Declared by:
accounts.email.accounts.<name>.thunderbird.settings
Extra settings to add to this Thunderbird account configuration.
The id given as argument is an automatically
generated account identifier.
Type: function that evaluates to a(n) attribute set of (boolean or signed integer or string)
Default:
_: { }
Example:
id: {
"mail.server.server_${id}.check_new_mail" = false;
};
Declared by:
accounts.email.accounts.<name>.userName
The server username of this account. This will be used as the SMTP, IMAP, and JMAP user name.
Type: null or string
Default:
null
Declared by:
accounts.email.certificatesFile
Path to default file containing certificate authorities that should be used to validate the connection authenticity. This path may be overridden on a per-account basis.
Type: null or absolute path
Default:
"/etc/ssl/certs/ca-certificates.crt"
Declared by:
accounts.email.maildirBasePath
The base directory for account maildir directories. May be a relative path (e.g. the user setting this value as “MyMaildir”), in which case it is relative the home directory (e.g. resulting in “~/MyMaildir”).
Type: string
Default:
"Maildir"
Declared by: