nix-configs

Personal NixOS and home-manager configuration files
Log | Files | Refs

commit 579064e26b679398fa84e7644672574ae8d65611
parent a8955cb497c40c8ff60f28bdf12c08919c68a97a
Author: Peter <peter@minskio.co.uk>
Date:   Thu,  8 Oct 2026 10:24:44 +0100

Store Firefox addons as array

Also re-indent code

Diffstat:
Mhome/firefox.nix | 99++++++++++++++++++++++++++++++++++++-------------------------------------------
1 file changed, 45 insertions(+), 54 deletions(-)

diff --git a/home/firefox.nix b/home/firefox.nix @@ -1,5 +1,15 @@ { lib, config, vars, ... }: +let + extensions = { + "uBlock0@raymondhill.net" = "ublock-origin"; + "uMatrix@raymondhill.net" = "umatrix"; + "newtaboverride@agenedia.com" = "new-tab-override"; + "CookieAutoDelete@kennydo.com" = "cookie-autodelete"; + "sponsorBlocker@ajay.app" = "sponsorblock"; + }; +in + { programs.firefox = { enable = true; @@ -87,49 +97,30 @@ }; ExtensionSettings = { "*".installation_mode = "blocked"; - "uBlock0@raymondhill.net" = { - installation_mode = "force_installed"; - install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"; - private_browsing = true; - default_area = "menupanel"; - "adminSettings" = builtins.toJSON { - userSettings = [ [ "prefetchingDisabled" "true" ] ]; - selectedFilterLists = [ - "ublock-filters" - "ublock-badware" - "ublock-privacy" - "ublock-unbreak" - "easylist" - "easyprivacy" - "plowe-0" - "fanboy-cookiemonster" - "ublock-cookies-easylist" - "adguard-cookies" - "ublock-annoyances" - ]; - # externalLists = '' - # https://example.com/my-filter-list.txt - # ''; - }; - }; - "newtaboverride@agenedia.com" = { - installation_mode = "force_installed"; - install_url = "https://addons.mozilla.org/firefox/downloads/latest/new-tab-override/latest.xpi"; - private_browsing = true; - default_area = "menupanel"; - }; - "CookieAutoDelete@kennydo.com" = { - installation_mode = "force_installed"; - install_url = "https://addons.mozilla.org/firefox/downloads/latest/cookie-autodelete/latest.xpi"; - private_browsing = true; - default_area = "menupanel"; - }; - "sponsorBlocker@ajay.app" = { - installation_mode = "force_installed"; - install_url = "https://addons.mozilla.org/firefox/downloads/latest/sponsorblock/latest.xpi"; - private_browsing = true; - default_area = "menupanel"; - }; + } + + // lib.mapAttrs + (_id: addon: { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/${addon}/latest.xpi"; + installation_mode = "force_installed"; private_browsing = true; default_area = "menupanel"; + }) + extensions; + + "3rdparty".Extensions."uBlock0@raymondhill.net".adminSettings = { + selectedFilterLists = [ + "ublock-filters" + "ublock-badware" + "ublock-privacy" + "ublock-unbreak" + "easylist" + "easyprivacy" + "plowe-0" + "fanboy-cookiemonster" + "ublock-cookies-easylist" + "adguard-cookies" + "ublock-annoyances" + ]; + }; UserMessaging = { "ExtensionRecommendations" = false; @@ -143,16 +134,16 @@ }; }; - home.sessionVariables = { - BROWSER = "firefox"; - MOZ_ENABLE_WAYLAND = 1; - }; + home.sessionVariables = { + BROWSER = "firefox"; + MOZ_ENABLE_WAYLAND = 1; + }; - xdg.mimeApps.defaultApplications = { - "text/html" = ["firefox.desktop"]; - "text/xml" = ["firefox.desktop"]; - "x-scheme-handler/http" = ["firefox.desktop"]; - "x-scheme-handler/https" = ["firefox.desktop"]; - }; + xdg.mimeApps.defaultApplications = { + "text/html" = ["firefox.desktop"]; + "text/xml" = ["firefox.desktop"]; + "x-scheme-handler/http" = ["firefox.desktop"]; + "x-scheme-handler/https" = ["firefox.desktop"]; + }; - } + }