From 691c3c5d7d0b4a18db0ff78b8dd53e703220b2da Mon Sep 17 00:00:00 2001 From: "quentin@aristote.fr" Date: Tue, 13 Oct 2026 11:12:18 +0200 Subject: home: firefox: extensions: declare settings --- .../programs/firefox/extensions/default.nix | 104 +++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 modules/home-manager/personal/programs/firefox/extensions/default.nix (limited to 'modules/home-manager/personal/programs/firefox/extensions/default.nix') diff --git a/modules/home-manager/personal/programs/firefox/extensions/default.nix b/modules/home-manager/personal/programs/firefox/extensions/default.nix new file mode 100644 index 0000000..f30ced8 --- /dev/null +++ b/modules/home-manager/personal/programs/firefox/extensions/default.nix @@ -0,0 +1,104 @@ +{ + config, + lib, + ... +}: +let + extensions = { + canvasblocker = { + id = "CanvasBlocker@kkapsner.de"; + # default settings look fine + }; + + url-in-title-keepass = { + id = "{45cf9154-a39d-4c84-93e7-840362a3d8d0}"; + # no settings + }; + + clearurls = { + id = "{74145f27-f039-47ce-a470-a662b129930a}"; + # default settings are fine and + # contain data that should be updated automatically + }; + + temporary-containers = { + id = "{c607c8df-14a7-4f28-894f-29e8722976af}"; + # exported settings + settings = lib.fromJSON (builtins.readFile ./temporary-containers.json); + }; + + floccus = { + id = "floccus@handmadeideas.org"; + # to replace with hm-managed bookmarks + }; + + darkreader = { + id = "addon@darkreader.org"; + # no settings stored in browser-extension-data/ + }; + + ublock-origin = { + id = "uBlock0@raymondhill.net"; + settings = lib.fromJSON (builtins.readFile ./ublock-origin.json); + }; + + 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; + }; +} -- cgit v1.3.1