puzzlevision/modules/home/apps/firefox/default.nix
Jo 92eb3abcdf
Some checks failed
Trufflehog: check for exposed secrets / Run trufflehog (push) Has been cancelled
Nix: check for unused code / Run deadnix (push) Has been cancelled
Nix: validate flake / Validate x86_64-linux (push) Has been cancelled
Add Firefox home module and recursively generate extension list
2025-06-11 19:03:22 +02:00

39 lines
854 B
Nix

{
lib,
self,
config,
...
}:
let
inherit (self) namespace;
inherit (self.lib) mkOpt;
inherit (lib) mkEnableOption types mkIf;
cfg = config.${namespace}.apps.firefox;
in
{
options.${namespace}.apps.firefox = {
enable = mkEnableOption "the Firefox browser.";
extensions = mkOpt (types.listOf types.str) [
"uBlock0@raymondhill.net"
] "List of extension slugs to install";
};
config = mkIf cfg.enable {
programs.firefox = {
enable = true;
policies = {
ExtensionSettings = builtins.foldl' (
acc: id:
acc
// {
${id} = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/${id}/latest.xpi";
installation_mode = "force_installed";
};
}
) { } cfg.extensions;
};
};
};
}