summaryrefslogtreecommitdiff
path: root/modules/home-manager/personal/programs/firefox/extensions.nix
diff options
context:
space:
mode:
authorquentin@aristote.fr <quentin@aristote.fr>2026-10-12 23:31:36 +0200
committerquentin@aristote.fr <quentin@aristote.fr>2026-10-13 00:10:12 +0200
commit92ecf9711ff726b9be11bab9c9baa1bfbea90bf6 (patch)
tree89e14210af47750eb652836deec21d75e461d8be /modules/home-manager/personal/programs/firefox/extensions.nix
parent9db2fdc210978b0b8a519b8b5e035a1b1febe89a (diff)
downloadmy-nixpkgs-92ecf9711ff726b9be11bab9c9baa1bfbea90bf6.tar.gz
my-nixpkgs-92ecf9711ff726b9be11bab9c9baa1bfbea90bf6.tar.bz2
my-nixpkgs-92ecf9711ff726b9be11bab9c9baa1bfbea90bf6.tar.xz
home: firefox: reorganize
Diffstat (limited to 'modules/home-manager/personal/programs/firefox/extensions.nix')
-rw-r--r--modules/home-manager/personal/programs/firefox/extensions.nix88
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;
+ };
+}