Add Firefox home module and recursively generate extension list
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

This commit is contained in:
Jo 2025-06-11 19:03:22 +02:00
parent 459a0427c3
commit 92eb3abcdf
2 changed files with 52 additions and 1 deletions

View file

@ -12,6 +12,19 @@
puzzlevision = {
themes.catppuccin.enable = true;
apps.zed.enable = true;
apps.firefox = {
enable = true;
extensions = [
"uBlock0@raymondhill.net"
"ATBC@EasonWong"
"languagetool-webextension@languagetool.org"
"firefox-enpass@enpass.io"
"firefox@tampermonkey.net"
"wappalyzer@crunchlabz.com"
"{7a7a4a92-a2a0-41d1-9fd7-1e92480d612d}"
"{d49033ac-8969-488c-afb0-5cdb73957f41}"
];
};
};
sops.secrets.wakatime-cfg = {
@ -27,7 +40,6 @@
enpass
## WEB
firefox
ungoogled-chromium
## EDITORS

View file

@ -0,0 +1,39 @@
{
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;
};
};
};
}