From 76a31b3051bfc3a1500bc154a6c2a063e5cbbe4b Mon Sep 17 00:00:00 2001 From: Hektor Misplon Date: Fri, 23 Jan 2026 14:35:06 +0100 Subject: [PATCH] refactor: deduplicate firefox/librewolf config --- home/modules/browser/firefox-base.nix | 78 ++++++++++++++++++++++++ home/modules/browser/firefox.nix | 85 +-------------------------- home/modules/browser/librewolf.nix | 85 +-------------------------- 3 files changed, 84 insertions(+), 164 deletions(-) create mode 100644 home/modules/browser/firefox-base.nix diff --git a/home/modules/browser/firefox-base.nix b/home/modules/browser/firefox-base.nix new file mode 100644 index 0000000..cbd409f --- /dev/null +++ b/home/modules/browser/firefox-base.nix @@ -0,0 +1,78 @@ +{ inputs, pkgs }: + +let + bookmarks = import ./bookmarks.nix; +in + +{ + nativeMessagingHosts = with pkgs; [ + tridactyl-native + ]; + profiles = { + default = { + settings = { + "signon.rememberSignons" = false; + "findbar.highlightAll" = true; + "extensions.autoDisableScopes" = 0; + }; + extensions = { + packages = with inputs.firefox-addons.packages.${pkgs.system}; [ + duckduckgo-privacy-essentials + istilldontcareaboutcookies + libredirect + keepassxc-browser + react-devtools + sponsorblock + tridactyl + ublock-origin + ]; + }; + bookmarks = { + force = true; + settings = [ + { + toolbar = true; + bookmarks = [ + bookmarks.nixos + ]; + } + ]; + }; + }; + }; + policies = { + DefaultDownloadDirectory = "\${home}/dl"; + ExtensionSettings = { + "jid1-ZAdIEUB7XOzOJw@jetpack" = { + default_area = "navbar"; + private_browsing = true; + }; + "idcac-pub@guus.ninja" = { + default_area = "navbar"; + private_browsing = true; + }; + "7esoorv3@alefvanoon.anonaddy.me" = { + default_area = "navbar"; + }; + "keepassxc-browser@keepassxc.org" = { + default_area = "navbar"; + private_browsing = true; + }; + "@react-devtools" = { + default_area = "navbar"; + private_browsing = true; + }; + "sponsorBlocker@ajay.app" = { + default_area = "navbar"; + private_browsing = true; + }; + "tridactyl.vim@cmcaine.co.uk".settings = { + private_browsing = true; + }; + "uBlock0@raymondhill.net".settings = { + default_area = "navbar"; + private_browsing = true; + }; + }; + }; +} diff --git a/home/modules/browser/firefox.nix b/home/modules/browser/firefox.nix index f591833..f547144 100644 --- a/home/modules/browser/firefox.nix +++ b/home/modules/browser/firefox.nix @@ -1,89 +1,10 @@ -{ - config, - inputs, - lib, - pkgs, - ... -}: - -let - bookmarks = import ./bookmarks.nix; -in +{ config, lib, inputs, pkgs, ... }: { config = lib.mkIf (config.browser.primary == "firefox" || config.browser.secondary == "firefox") { programs.firefox = { enable = true; - nativeMessagingHosts = with pkgs; [ - tridactyl-native - ]; - profiles = { - default = { - settings = { - "signon.rememberSignons" = false; - "findbar.highlightAll" = true; - "extensions.autoDisableScopes" = 0; - }; - extensions = { - packages = with inputs.firefox-addons.packages.${pkgs.system}; [ - duckduckgo-privacy-essentials - istilldontcareaboutcookies - libredirect - keepassxc-browser - react-devtools - sponsorblock - tridactyl - ublock-origin - ]; - }; - bookmarks = { - force = true; - settings = [ - { - toolbar = true; - bookmarks = [ - bookmarks.nixos - ]; - } - ]; - }; - }; - }; - policies = { - DefaultDownloadDirectory = "\${home}/dl"; - ExtensionSettings = { - "jid1-ZAdIEUB7XOzOJw@jetpack" = { - default_area = "navbar"; - private_browsing = true; - }; - "idcac-pub@guus.ninja" = { - default_area = "navbar"; - private_browsing = true; - }; - "7esoorv3@alefvanoon.anonaddy.me" = { - default_area = "navbar"; - }; - "keepassxc-browser@keepassxc.org" = { - default_area = "navbar"; - private_browsing = true; - }; - "@react-devtools" = { - default_area = "navbar"; - private_browsing = true; - }; - "sponsorBlocker@ajay.app" = { - default_area = "navbar"; - private_browsing = true; - }; - "tridactyl.vim@cmcaine.co.uk".settings = { - private_browsing = true; - }; - "uBlock0@raymondhill.net".settings = { - default_area = "navbar"; - private_browsing = true; - }; - }; - }; - }; + } + // (import ./firefox-base.nix { inherit inputs pkgs; }); }; } diff --git a/home/modules/browser/librewolf.nix b/home/modules/browser/librewolf.nix index ef92890..523fe85 100644 --- a/home/modules/browser/librewolf.nix +++ b/home/modules/browser/librewolf.nix @@ -1,14 +1,4 @@ -{ - config, - inputs, - lib, - pkgs, - ... -}: - -let - bookmarks = import ./bookmarks.nix; -in +{ config, lib, inputs, pkgs, ... }: { config = @@ -16,76 +6,7 @@ in { programs.librewolf = { enable = true; - nativeMessagingHosts = with pkgs; [ - tridactyl-native - ]; - profiles = { - default = { - settings = { - "signon.rememberSignons" = false; - "findbar.highlightAll" = true; - "extensions.autoDisableScopes" = 0; - }; - extensions = { - packages = with inputs.firefox-addons.packages.${pkgs.system}; [ - duckduckgo-privacy-essentials - istilldontcareaboutcookies - libredirect - keepassxc-browser - react-devtools - sponsorblock - tridactyl - ublock-origin - ]; - }; - bookmarks = { - force = true; - settings = [ - { - toolbar = true; - bookmarks = [ - bookmarks.nixos - ]; - } - ]; - }; - }; - }; - policies = { - DefaultDownloadDirectory = "\${home}/dl"; - ExtensionSettings = { - "jid1-ZAdIEUB7XOzOJw@jetpack" = { - default_area = "navbar"; - private_browsing = true; - }; - "idcac-pub@guus.ninja" = { - default_area = "navbar"; - private_browsing = true; - }; - "7esoorv3@alefvanoon.anonaddy.me" = { - default_area = "navbar"; - }; - "keepassxc-browser@keepassxc.org" = { - default_area = "navbar"; - private_browsing = true; - }; - "@react-devtools" = { - default_area = "navbar"; - private_browsing = true; - }; - "sponsorBlocker@ajay.app" = { - default_area = "navbar"; - private_browsing = true; - }; - "tridactyl.vim@cmcaine.co.uk".settings = { - private_browsing = true; - }; - "uBlock0@raymondhill.net".settings = { - default_area = "navbar"; - private_browsing = true; - }; - }; - }; - }; + } + // (import ./firefox-base.nix { inherit inputs pkgs; }); }; }