From cac5b8a130a1ed588f15f5c3afec7bd705ba34ae Mon Sep 17 00:00:00 2001 From: Yorick Barbanneau Date: Thu, 26 Dec 2024 18:27:54 +0100 Subject: [PATCH] chore(firefox): extensions are now configurable --- modules/home-manager/web/firefox/default.nix | 34 ++++++++++++++------ 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/modules/home-manager/web/firefox/default.nix b/modules/home-manager/web/firefox/default.nix index e05900a..d0f996f 100644 --- a/modules/home-manager/web/firefox/default.nix +++ b/modules/home-manager/web/firefox/default.nix @@ -8,6 +8,26 @@ in options.modules.web.firefox = { enable = mkEnableOption "enable Firefox web browser"; + baseExtensions = mkOption { + type = types.listOf types.package; + default = with pkgs.nur.repos.rycee.firefox-addons; [ + browserpass + consent-o-matic + cookie-autodelete + darkreader + decentraleyes + tridactyl + ublock-origin + ]; + description = "Base Firefox Plugins to install"; + }; + + optionalExtensions = mkOption { + type = types.listOf types.package; + default = []; + description = "Optional Firefox Plugins to install"; + }; + enableNixGL = mkOption { type = types.bool; default = false; @@ -44,7 +64,9 @@ in }; }; }; - programs.firefox = { + programs.firefox = let + allExtensions = cfg.baseExtensions ++ cfg.optionalExtensions; + in { enable = true; package = pkgs.wrapFirefox pkgs.firefox-unwrapped { nativeMessagingHosts = [ @@ -57,15 +79,7 @@ in id = 0; name = "ephase"; isDefault = true; - extensions = with pkgs.nur.repos.rycee.firefox-addons; [ - browserpass - consent-o-matic - cookie-autodelete - darkreader - decentraleyes - tridactyl - ublock-origin - ]; + extensions = allExtensions; search = { force = true; default = "DuckDuckGo";