Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

programs.thunderbird.enable

Whether to enable Thunderbird.

Type: boolean

Default:

false

Example:

true

Declared by:

programs.thunderbird.package

The thunderbird package to use.

Type: package

Default:

pkgs.thunderbird

Example:

pkgs.thunderbird-91

Declared by:

programs.thunderbird.finalPackage

Resulting Thunderbird package.

Type: package (read only)

Declared by:

programs.thunderbird.languagePacks

Thunderbird language packs to install and activate through enterprise policies.

Available language codes can be found on the releases page: https://releases.mozilla.org/pub/thunderbird/releases/${version}/linux-x86_64/xpi/, replacing ${version} with the version of Thunderbird you have. If the version string of your Thunderbird package differs from the upstream version, override the internal release option.

Type: list of string

Default:

[ ]

Example:

[
  "en-GB"
  "de"
]

Declared by:

programs.thunderbird.nativeMessagingHosts

Additional packages containing native messaging hosts that should be made available to Thunderbird extensions.

Type: list of package

Default:

[ ]

Declared by:

programs.thunderbird.policies

Thunderbird enterprise policies. See the list of policies.

Type: attribute set of (JSON value)

Default:

{ }

Example:

{
  DisableTelemetry = true;
  ExtensionSettings = {
    "addoncompatibility@opto.one" = {
      install_url = "https://addons.thunderbird.net/thunderbird/downloads/latest/addon-compatibility-check/latest.xpi";
      installation_mode = "normal_installed";
    };
  };
}

Declared by:

programs.thunderbird.profiles

Attribute set of Thunderbird profiles.

Type: attribute set of (submodule)

Declared by:

programs.thunderbird.profiles.<name>.accountsOrder

Custom ordering of accounts and local folders in Thunderbird’s folder pane. The accounts are specified by their name. For declarative accounts, it must be the name of their attribute in config.accounts.email.accounts (or config.programs.thunderbird.profiles.<name>.feedAccounts for feed accounts). The local folders name can be found in the mail.accountmanager.accounts Thunderbird preference, for example with Settings > Config Editor (“account1” by default). Enabled accounts and local folders that aren’t listed here appear in an arbitrary order after the ordered accounts.

Type: list of string

Default:

[ ]

Example:

''
  [
    "my-awesome-account"
    "private"
    "work"
    "rss"
    /* Other accounts in arbitrary order */
  ]
''

Declared by:

programs.thunderbird.profiles.<name>.calendarAccountsOrder

Custom ordering of calendar accounts. The accounts are specified by their name. For declarative accounts, it must be the name of their attribute in config.accounts.calendar.accounts. Enabled accounts that aren’t listed here appear in an arbitrary order after the ordered accounts.

Type: list of string

Default:

[ ]

Example:

''
  [
    "my-awesome-account"
    "private"
    "work"
    "holidays"
    /* Other accounts in arbitrary order */
  ]
''

Declared by:

programs.thunderbird.profiles.<name>.extensions

List of ‹name› add-on packages to install for this profile.

Note that it is necessary to manually enable extensions inside ‹name› after the first installation.

To automatically enable extensions add "extensions.autoDisableScopes" = 0; to programs.thunderbird.profiles.<profile>.settings

Type: list of package

Default:

[ ]

Example:

[
  pkgs.some-thunderbird-extension
]

Declared by:

programs.thunderbird.profiles.<name>.extraConfig

Extra preferences to add to user.js.

Type: strings concatenated with “\n”

Default:

""

Declared by:

programs.thunderbird.profiles.<name>.feedAccounts

Attribute set of feed accounts. Feeds themselves have to be managed through Thunderbird’s settings. This option allows feeds to coexist with declaratively managed email accounts.

Type: attribute set of (submodule)

Default:

{ }

Declared by:

programs.thunderbird.profiles.<name>.feedAccounts.<name>.name

This feed account’s name.

Type: string (read only)

Default:

"‹name›"

Declared by:

programs.thunderbird.profiles.<name>.isDefault

Whether this is a default profile. There must be exactly one default profile.

Type: boolean

Default:

false

Example:

true

Declared by:

programs.thunderbird.profiles.<name>.name

This profile’s name.

Type: string (read only)

Default:

"‹name›"

Declared by:

programs.thunderbird.profiles.<name>.search

Declarative search engine configuration.

Type: submodule

Default:

{ }

Declared by:

programs.thunderbird.profiles.<name>.search.default

The default search engine used in the address bar and search bar.

Type: null or string

Default:

null

Example:

"ddg"

Declared by:

programs.thunderbird.profiles.<name>.search.engines

Attribute set of search engine configurations. Engines that only have metaData specified will be treated as builtin to Thunderbird.

See SearchEngine.jsm in Thunderbird’s source for available options. We maintain a mapping to let you specify all options in the referenced link without underscores, but it may fall out of date with future options.

Note, icon is also a special option added by Home Manager to make it convenient to specify absolute icon paths.

Type: attribute set of attribute set of (JSON value)

Default:

{ }

Example:

{
  nix-packages = {
    name = "Nix Packages";
    urls = [{
      template = "https://search.nixos.org/packages";
      params = [
        { name = "type"; value = "packages"; }
        { name = "query"; value = "{searchTerms}"; }
      ];
    }];

    icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
    definedAliases = [ "@np" ];
  };

  nixos-wiki = {
    name = "NixOS Wiki";
    urls = [{ template = "https://wiki.nixos.org/w/index.php?search={searchTerms}"; }];
    iconMapObj."16" = "https://wiki.nixos.org/favicon.ico";
    definedAliases = [ "@nw" ];
  };

  bing.metaData.hidden = true;
  google.metaData.alias = "@g"; # builtin engines only support specifying one additional alias
}

Declared by:

programs.thunderbird.profiles.<name>.search.force

Whether to force replace the existing search configuration. This is recommended since Thunderbird will replace the symlink for the search configuration on every launch, but note that you’ll lose any existing configuration by enabling this.

Type: boolean

Default:

false

Declared by:

programs.thunderbird.profiles.<name>.search.meta.maintainers

List of maintainers of each module. This option should be defined at most once per module.

The option value is not a list of maintainers, but an attribute set that maps module file names to lists of maintainers.

Type: list of lib.maintainers

Default:

[ ]

Example:

[ lib.maintainers.alice lib.maintainers.bob ]

Declared by:

programs.thunderbird.profiles.<name>.search.meta.teams

List of team maintainers of each module. This option should be defined at most once per module.

Type: list of lib.teams

Default:

[ ]

Example:

[ lib.teams.acme lib.teams.haskell ]

Declared by:

programs.thunderbird.profiles.<name>.search.order

The order the search engines are listed in. Any engines that aren’t included in this list will be listed after these in an unspecified order.

Type: list of string

Default:

[ ]

Example:

[
  "ddg"
  "google"
]

Declared by:

programs.thunderbird.profiles.<name>.search.privateDefault

The default search engine used in the Private Browsing.

Type: null or string

Default:

null

Example:

"ddg"

Declared by:

programs.thunderbird.profiles.<name>.settings

Preferences to add to this profile’s user.js.

Type: Thunderbird preference (int, bool, string, and also attrs, list, float as a JSON string)

Default:

{ }

Example:

{
  "mail.spellcheck.inline" = false;
  "mailnews.database.global.views.global.columns" = {
    selectCol = {
      ordinal = 1;
      visible = false;
    };
    threadCol = {
      ordinal = 2;
      visible = true;
    };
  };
}

Declared by:

programs.thunderbird.profiles.<name>.userChrome

Custom Thunderbird user chrome CSS.

Type: strings concatenated with “\n”

Default:

""

Example:

''
  /* Hide tab bar in Thunderbird */
  #tabs-toolbar {
    visibility: collapse !important;
  }
''

Declared by:

programs.thunderbird.profiles.<name>.userContent

Custom Thunderbird user content CSS.

Type: strings concatenated with “\n”

Default:

""

Example:

''
  /* Hide scrollbar on Thunderbird pages */
  *{scrollbar-width:none !important}
''

Declared by:

programs.thunderbird.profiles.<name>.withExternalGnupg

Allow Thunderbird to use external GnuPG secret keys through GPGME, as used by its documented smartcard and external-key workflow.

This installs gpgme and sets mail.openpgp.allow_external_gnupg. Public keys and key acceptance settings still live in Thunderbird’s internal OpenPGP key manager.

Type: boolean

Default:

false

Example:

true

Declared by:

programs.thunderbird.settings

Attribute set of Thunderbird preferences to be added to all profiles.

Type: Thunderbird preference (int, bool, string, and also attrs, list, float as a JSON string)

Default:

{ }

Example:

{
  "general.useragent.override" = "";
  "privacy.donottrackheader.enabled" = true;
}

Declared by: