mirror of
https://github.com/nix-community/home-manager
synced 2024-11-23 11:39:46 +01:00
parent
1743615b61
commit
4d680ee96f
1 changed files with 38 additions and 0 deletions
|
@ -12,6 +12,11 @@ let
|
||||||
"Thunderbird preference (int, bool, string, and also attrs, list, float as a JSON string)";
|
"Thunderbird preference (int, bool, string, and also attrs, list, float as a JSON string)";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# The extensions path shared by all profiles.
|
||||||
|
extensionPath = "extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}";
|
||||||
|
|
||||||
|
moduleName = "programs.thunderbird";
|
||||||
|
|
||||||
enabledAccounts = attrValues
|
enabledAccounts = attrValues
|
||||||
(filterAttrs (_: a: a.thunderbird.enable) config.accounts.email.accounts);
|
(filterAttrs (_: a: a.thunderbird.enable) config.accounts.email.accounts);
|
||||||
|
|
||||||
|
@ -239,6 +244,27 @@ in {
|
||||||
default = { };
|
default = { };
|
||||||
description = "Declarative search engine configuration.";
|
description = "Declarative search engine configuration.";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
extensions = mkOption {
|
||||||
|
type = types.listOf types.package;
|
||||||
|
default = [ ];
|
||||||
|
example = literalExpression ''
|
||||||
|
[
|
||||||
|
pkgs.some-thunderbird-extension
|
||||||
|
]
|
||||||
|
'';
|
||||||
|
description = ''
|
||||||
|
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
|
||||||
|
[{option}`${moduleName}.profiles.<profile>.settings`](#opt-${moduleName}.profiles._name_.settings)
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}));
|
}));
|
||||||
description = "Attribute set of Thunderbird profiles.";
|
description = "Attribute set of Thunderbird profiles.";
|
||||||
|
@ -414,6 +440,18 @@ in {
|
||||||
force = profile.search.force;
|
force = profile.search.force;
|
||||||
source = profile.search.file;
|
source = profile.search.file;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
"${thunderbirdProfilesPath}/${name}/extensions" =
|
||||||
|
mkIf (profile.extensions != [ ]) {
|
||||||
|
source = let
|
||||||
|
extensionsEnvPkg = pkgs.buildEnv {
|
||||||
|
name = "hm-thunderbird-extensions";
|
||||||
|
paths = profile.extensions;
|
||||||
|
};
|
||||||
|
in "${extensionsEnvPkg}/share/mozilla/${extensionPath}";
|
||||||
|
recursive = true;
|
||||||
|
force = true;
|
||||||
|
};
|
||||||
}));
|
}));
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue