diff options
Diffstat (limited to 'modules/home-manager/personal/programs/firefox/extensions.nix')
| -rw-r--r-- | modules/home-manager/personal/programs/firefox/extensions.nix | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/modules/home-manager/personal/programs/firefox/extensions.nix b/modules/home-manager/personal/programs/firefox/extensions.nix new file mode 100644 index 0000000..60982b9 --- /dev/null +++ b/modules/home-manager/personal/programs/firefox/extensions.nix @@ -0,0 +1,88 @@ +{ + config, + lib, + ... +}: +let + extensions = { + canvasblocker = { + id = "CanvasBlocker@kkapsner.de"; + }; + url-in-title-keepass = { + id = "{fcdb71fb-c9e5-48a3-9d04-e32713f5da88}"; + }; + clearurls = { + id = "{74145f27-f039-47ce-a470-a662b129930a}"; + }; + temporary-containers = { + id = "{c607c8df-14a7-4f28-894f-29e8722976af}"; + }; + floccus = { + id = "floccus@handmadeideas.org"; + }; + darkreader = { + id = "addon@darkreader.org"; + }; + ublock-origin = { + id = "uBlock0@raymondhill.net"; + }; + firefox-color = { + id = "FirefoxColor@mozilla.com"; + settings.theme.colors = + let + mkBgColor = lib.mkForce ( + with config.lib.stylix.colors; + { + r = base00-rgb-r; + g = base00-rgb-g; + b = base00-rgb-b; + } + ); + in + { + frame = mkBgColor; + sidebar_border = mkBgColor; + popup_border = mkBgColor; + tab_baground_separator = mkBgColor; + tab_line = mkBgColor; + toolbar_field_border_focus = mkBgColor; + }; + }; + }; +in +{ + programs.firefox = { + policies.ExtensionSettings = { + "*".installation_mode = "blocked"; + } + // lib.mapAttrs' (name: { id, ... }: { + name = id; + value = { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/${name}/latest.xpi"; + installation_mode = "force_installed"; + updates_disabled = true; + }; + }) extensions; + + profiles.default.extensions.settings = lib.mapAttrs' ( + _: + { + id, + settings ? { }, + }: + { + name = id; + value = + if settings != { } then + { + force = true; + inherit settings; + } + else + { + force = false; + }; + } + ) extensions; + }; +} |
