nix-configs

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

commit 85f26f9c0d05cf21264ef1051088a04fb91477b9
parent a099e97699468d06f07a0bb545941e877e4b23a0
Author: Peter <peter@minskio.co.uk>
Date:   Sat, 12 Sep 2026 19:50:26 +0100

Latest Firefox, no longer using NUR for addons

Diffstat:
Mhome/firefox.nix | 185++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------
1 file changed, 123 insertions(+), 62 deletions(-)

diff --git a/home/firefox.nix b/home/firefox.nix @@ -1,74 +1,135 @@ -{ config, pkgs, ... }: +{ lib, config, ... }: -{ - programs.firefox = { - enable = true; - configPath = "${config.xdg.configHome}/mozilla/firefox"; + { + programs.firefox = { + enable = true; + configPath = "${config.xdg.configHome}/mozilla/firefox"; - profiles = { - default = { - id = 0; - name = "default"; - isDefault = true; + profiles = { + default = { + id = 0; + name = "default"; + isDefault = true; - settings = { - "browser.aboutConfig.showWarning" = false; # disable about:config warning - "browser.aboutwelcome.enabled" = false; # disable welcome screen - "browser.discovery.containers.enabled" = false; # disable containers - "browser.ml.linkPreview.enabled" = false; # long press link previews - "browser.newtab.extensionControlled" = true; # don't warn new tab page has changed - "browser.newtab.privateAllowed" = true; # hide new tab warning in private too - "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons" = false; # recommend extensions while I browse - "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features" = false; # recommend features while I browse - "browser.search.suggest.enabled" = false; # disable search suggestions in urlbar - "browser.sessionstore.resume_from_crash" = false; # don't prompt to restore the previous session on startup - "browser.startup.couldRestoreSession.count" = "2"; # disable restore tabs on startup banner - "browser.startup.homepage" = "https://breadcat.github.io/startpage/"; - "browser.tabs.groups.enabled" = false; # disable tab grouping - "browser.toolbars.bookmarks.visibility" = "never"; # always hide bookmarks bar - "browser.urlbar.suggest.quicksuggest.all" = false; # disable suggestions in urlbar - "browser.urlbar.suggest.quicksuggest.sponsored" = false; # disable sponsored suggestions in urlbar - "extensions.activeThemeID" = "firefox-compact-dark@mozilla.org"; - "extensions.autoDisableScopes" = 0; # enable extensions by default - "extensions.formautofill.creditCards.enabled" = false; # disable credit card saving - "general.autoScroll" = true; # middle mouse page scroll instead of paste - "media.videocontrols.picture-in-picture.enabled" = false; # disable pip entirely - "media.videocontrols.picture-in-picture.video-toggle.enabled" = false; # disable pip popup - "media.webspeech.synth.dont_notify_on_error" = true; # disable speech errors - "media.webspeech.synth.enabled" = false; # disable speech entirely - }; + settings = { + "browser.aboutConfig.showWarning" = false; # disable about:config warning + "browser.aboutwelcome.enabled" = false; # disable welcome screen + "browser.ai.control.default" = "blocked"; # ai blocking + "browser.ai.control.linkPreviewKeyPoints" = "blocked"; # ai blocking + "browser.ai.control.pdfjsAltText" = "blocked"; # ai blocking + "browser.ai.control.sidebarChatbot" = "blocked"; # ai blocking + "browser.ai.control.smartTabGroups" = "blocked"; # ai blocking + "browser.ai.control.smartWindow" = "blocked"; # ai blocking + "browser.ai.control.translations" = "blocked"; # ai blocking + "browser.discovery.containers.enabled" = false; # disable containers + "browser.ml.linkPreview.enabled" = false; # long press link previews + "browser.newtab.extensionControlled" = true; # don't warn new tab page has changed + "browser.newtab.privateAllowed" = true; # hide new tab warning in private too + "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons" = false; # recommend extensions while I browse + "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features" = false; # recommend features while I browse + "browser.profiles.enabled" = false; # disable profiles + "browser.search.suggest.enabled" = false; # disable search suggestions in urlbar + "browser.sessionstore.resume_from_crash" = false; # don't prompt to restore the previous session on startup + "browser.startup.couldRestoreSession.count" = "2"; # disable restore tabs on startup banner + "browser.startup.homepage" = "https://breadcat.github.io/startpage/"; + "browser.tabs.groups.enabled" = false; # disable tab grouping + "browser.toolbars.bookmarks.visibility" = "never"; # always hide bookmarks bar + "browser.uiCustomization.state" = builtins.toJSON { placements = { "nav-bar" = [ "back-button" "forward-button" "stop-reload-button" "urlbar-container" ]; "TabsToolbar" = [ "tabbrowser-tabs" ]; }; currentVersion = 26; newElementCount = 0; }; # toolbar layout + "browser.urlbar.showSearchTerms.enabled" = false; # always show address in address bar + "browser.urlbar.suggest.quicksuggest.all" = false; # disable suggestions in urlbar + "browser.urlbar.suggest.quicksuggest.sponsored" = false; # disable sponsored suggestions in urlbar + "extensions.activeThemeID" = "firefox-compact-dark@mozilla.org"; + "extensions.autoDisableScopes" = 0; # enable extensions by default + "extensions.formautofill.creditCards.enabled" = false; # disable credit card saving + "general.autoScroll" = true; # middle mouse page scroll instead of paste + "media.videocontrols.picture-in-picture.enabled" = false; # disable pip entirely + "media.videocontrols.picture-in-picture.video-toggle.enabled" = false; # disable pip popup + "media.webspeech.synth.dont_notify_on_error" = true; # disable speech errors + "media.webspeech.synth.enabled" = false; # disable speech entirely + }; - extensions = { - packages = with pkgs.nur.repos.rycee.firefox-addons; [ - cookie-autodelete - new-tab-override - ublock-origin - ]; + extensions = { + force = true; + settings = { "newtaboverride@agenedia.com".settings = { type = "homepage"; focus_website = true; }; }; + }; }; - }; - }; - policies = { - DisableFirefoxAccounts = true; - DisableFirefoxStudies = true; - DisablePocket = true; - DisableTelemetry = true; + policies = { + DisableFirefoxAccounts = true; + DisableFirefoxStudies = true; + DisablePocket = true; + DisableMasterPasswordCreation = true; + DisableTelemetry = true; + 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"; + }; + }; + UserMessaging = { + "ExtensionRecommendations" = false; + "FeatureRecommendations" = false; + "UrlbarInterventions" = false; + "FirefoxLabs" = false; + "MoreFromMozzilla" = false; + "SkipOnboarding" = true; + "Locked" = true; + }; + }; }; - }; - - 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"]; + }; -} + }