diff --git a/nix/home/opdavies/desktop/firefox.nix b/nix/home/opdavies/desktop/firefox.nix index e81c3d9..c79d828 100644 --- a/nix/home/opdavies/desktop/firefox.nix +++ b/nix/home/opdavies/desktop/firefox.nix @@ -1,11 +1,81 @@ { pkgs, ... }: { - programs.firefox = { + programs.firefox.enable = false; + + programs.librewolf = { enable = true; languagePacks = [ "en-GB" ]; + policies = { + CaptivePortal = false; + DisableFirefoxAccounts = true; + DisableFirefoxStudies = true; + DisablePocket = true; + DisableTelemetry = true; + + EnableTrackingProtection = { + Cryptomining = true; + Fingerprinting = true; + Value = true; + }; + + ExtensionSettings = { + "jid1-ZAdIEUB7XOzOJw@jetpack" = { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/duckduckgo-for-firefox/latest.xpi"; + installation_mode = "force_installed"; + }; + + "uBlock0@raymondhill.net" = { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"; + installation_mode = "force_installed"; + }; + }; + + FirefoxHome = { + Highlights = false; + Pocket = false; + Search = true; + Snippets = false; + SponsoredPocket = false; + SponsoredTopSites = false; + TopSites = true; + }; + + FirefoxSuggest = { + ImproveSuggest = false; + SponsoredSuggestions = false; + WebSuggestions = false; + }; + + NoDefaultBookmarks = true; + OfferToSaveLogins = false; + OfferToSaveLoginsDefault = false; + PasswordManagerEnabled = false; + + Preferences = { + "cookiebanners.service.mode" = 2; # Block cookie banners + "cookiebanners.service.mode.privateBrowsing" = 2; # Block cookie banners in private browsing + "privacy.donottrackheader.enabled" = true; + "privacy.fingerprintingProtection" = true; + "privacy.resistFingerprinting" = true; + "privacy.trackingprotection.emailtracking.enabled" = true; + "privacy.trackingprotection.enabled" = true; + "privacy.trackingprotection.fingerprinting.enabled" = true; + "privacy.trackingprotection.socialtracking.enabled" = true; + }; + + HardwareAcceleration = true; + TranslateEnabled = true; + + UserMessaging = { + ExtensionRecommendations = false; + UrlbarInterventions = false; + SkipOnboarding = true; + }; + }; + profiles = { default = { extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [ @@ -20,8 +90,6 @@ web-developer ]; - preConfig = builtins.readFile "${pkgs.arkenfox-userjs}/user.js"; - search = { default = "DuckDuckGo"; force = true; diff --git a/nix/modules/nixos/features/desktop/dwm.nix b/nix/modules/nixos/features/desktop/dwm.nix index 6961944..7f5ee54 100644 --- a/nix/modules/nixos/features/desktop/dwm.nix +++ b/nix/modules/nixos/features/desktop/dwm.nix @@ -116,7 +116,7 @@ with lib; TAGKEYS(XK_8, 7) TAGKEYS(XK_9, 8) { MODKEY|ShiftMask, XK_q, quit, {0} }, - { MODKEY|ShiftMask, XK_b, spawn, SHCMD("${pkgs.firefox}/bin/firefox") }, + { MODKEY|ShiftMask, XK_b, spawn, SHCMD("${pkgs.librewolf}/bin/librewolf") }, { MODKEY|ShiftMask, XK_f, spawn, SHCMD("${pkgs.xfce.thunar}/bin/thunar") }, { MODKEY|ShiftMask, XK_i, spawn, SHCMD("${pkgs.xdotool}/bin/xdotool type $(cat ~/snippets.txt | grep -v '^#' | grep -v '^$' | sort | dmenu -i -l 50 | cut -d' ' -f1)") }, { MODKEY|ShiftMask, XK_p, spawn, {.v = (const char*[]){ "${pkgs.pass}/bin/passmenu", "-i", "-l", "50", NULL} } },