From db1aabba6dbfcb3b478fad91f061f4c1e80b1e28 Mon Sep 17 00:00:00 2001 From: Felix Tenley Date: Sat, 15 Aug 2020 02:30:01 +0200 Subject: [PATCH] feat(firefox): add settings --- home/browsers/firefox.nix | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/home/browsers/firefox.nix b/home/browsers/firefox.nix index 8ef8cd4..cb2273a 100644 --- a/home/browsers/firefox.nix +++ b/home/browsers/firefox.nix @@ -1,7 +1,42 @@ -{ config, pkgs, ... }: +{ config, pkgs, lib, ... }: +with lib; let firefox-addons = pkgs.nur.repos.rycee.firefox-addons; + + prefer-dark-theme = config.gtk.gtk3.extraConfig.gtk-application-prefer-dark-theme; + + sharedSettings = { + # Privacy recommendations from https://www.privacytools.io/browsers/#about_config + "privacy.firstparty.isolate" = true; + "privacy.resistFingerprinting" = true; + "privacy.trackingprotection.fingerprinting.enabled" = true; + "privacy.trackingprotection.cryptomining.enabled" = true; + "privacy.trackingprotection.socialtracking.enabled" = true; + "privacy.trackingprotection.enabled" = true; + "browser.send_pings" = false; + "browser.urlbar.speculativeConnect.enabled" = false; + "dom.event.clipboardevents.enabled" = false; + "media.eme.enabled" = false; + "media.gmp-widevinecdm.enabled" = false; + "media.navigator.enabled" = false; + "network.cookie.cookieBehavior" = 1; + "network.http.referer.XOriginPolicy" = 2; + "network.http.referer.XOriginTrimmingPolicy" = 2; + "webgl.disabled" = true; + "browser.sessionstore.privacy_level" = 2; + "network.IDN_show_punycode" = true; + + # Theme + "extensions.activeThemeID" = concatStrings + [ "firefox-compact-" + (if prefer-dark-theme then "dark" else "light") + "@mozilla.org" + ]; + "devtools.theme" = if prefer-dark-theme + then "dark" + else "light"; + }; in { programs.firefox = { @@ -14,9 +49,11 @@ in profiles = { private = { id = 0; + settings = sharedSettings; }; work = { id = 1; + settings = sharedSettings; }; }; extensions = with firefox-addons; [