feat(firefox): base config on arkenfox user.js

This commit is contained in:
Felix Schröter 2023-04-25 18:32:26 +02:00
parent a015e13171
commit 0d5b95740f
Signed by: felschr
GPG key ID: 671E39E6744C807D

View file

@ -5,96 +5,35 @@ let
firefox-addons = pkgs.nur.repos.rycee.firefox-addons
// (import ./firefoxAddons.nix { inherit pkgs lib; });
prefer-dark-theme =
config.gtk.gtk3.extraConfig.gtk-application-prefer-dark-theme;
inherit (import ../modules/firefox/common.nix { inherit config lib pkgs; })
mkConfig;
arkenfoxConfig =
builtins.readFile "${pkgs.nur.repos.slaier.arkenfox-userjs}/user.js";
# Relax some arkenfox settings, to get a less strict
# alternative to Mullvad Browser to fallback on.
sharedSettings = {
# Privacy & Security Improvements
"browser.contentblocking.category" = "strict";
"browser.urlbar.speculativeConnect.enabled" = false;
"dom.security.https_only_mode" = true;
"media.eme.enabled" = false; # disables DRM
# causes CORS error on waves.exchange when set to 2
"network.http.referer.XOriginPolicy" = 1;
"network.http.referer.XOriginTrimmingPolicy" = 2;
"network.IDN_show_punycode" = true;
# forces ui.systemUsesDarkTheme to false
# "privacy.resistFingerprinting" = true;
# "webgl.disabled" = true;
# Disable Telemetry
"browser.newtabpage.activity-stream.feeds.telemetry" = false;
"browser.newtabpage.activity-stream.telemetry" = false;
"browser.ping-centre.telemetry" = false;
"toolkit.telemetry.archive.enabled" = false;
"toolkit.telemetry.bhrPing.enabled" = false;
"toolkit.telemetry.enabled" = false;
"toolkit.telemetry.firstShutdownPing.enabled" = false;
"toolkit.telemetry.hybridContent.enabled" = false;
"toolkit.telemetry.newProfilePing.enabled" = false;
"toolkit.telemetry.reportingpolicy.firstRun" = false;
"toolkit.telemetry.shutdownPingSender.enabled" = false;
"toolkit.telemetry.unified" = false;
"toolkit.telemetry.updatePing.enabled" = false;
"datareporting.healthreport.uploadEnabled" = false;
"datareporting.healthreport.service.enabled" = false;
"datareporting.policy.dataSubmissionEnabled" = false;
# Disable Personalisation & Sponsored Content
"browser.discovery.enabled" = false;
"browser.newtabpage.activity-stream.showSponsored" = false;
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons" = false;
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features" =
false;
"browser.newtabpage.activity-stream.feeds.snippets" = false;
# Disable Experiments & Studies
"experiments.activeExperiment" = false;
"experiments.enabled" = false;
"experiments.supported" = false;
"network.allow-experiments" = false;
"app.normandy.enabled" = false;
"app.shield.optoutstudies.enabled" = false;
# Search
"browser.search.defaultenginename" = "DuckDuckGo";
"browser.search.selectedEngine" = "DuckDuckGo";
# Disable DNS over HTTPS (done system-wide)
"network.trr.mode" = 5;
# Theme
"browser.theme.toolbar-theme" = 0;
"ui.systemUsesDarkTheme" = prefer-dark-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";
# i18n
"intl.accept_languages" = "en-GB, en";
"intl.regional_prefs.use_os_locales" = true;
# dev tools
"devtools.inspector.color-scheme-simulation.enabled" = true;
"devtools.inspector.showAllAnonymousContent" = true;
# Other
"browser.uitour.enabled" = false;
# Enable restoring sessions
"browser.startup.page" = 3;
"browser.toolbars.bookmarks.visibility" = "newtab";
"browser.tabs.inTitlebar" = 1;
"browser.aboutConfig.showWarning" = false;
"signon.rememberSignons" = false;
"services.sync.engine.passwords" = false;
"extensions.update.enabled" = false;
"extensions.update.autoUpdateDefault" = false;
# Don't delete data on shutdown (cookies, sessions, windows, ...)
"privacy.sanitize.sanitizeOnShutdown" = false;
# Don't do default browser check
"browser.shell.checkDefaultBrowser" = false;
# Disable Pocket
"extensions.pocket.enabled" = false;
};
# use extraConfig to load arkenfox user.js before settings
sharedExtraConfig = ''
${arkenfoxConfig}
${mkConfig sharedSettings}
'';
commonExtensions = with firefox-addons; [
ublock-origin
bitwarden
@ -110,12 +49,12 @@ in {
profiles = {
private = {
id = 0;
settings = sharedSettings;
extraConfig = sharedExtraConfig;
# extensions = commonExtensions ++ (with firefox-addons; [ metamask ]);
};
work = {
id = 1;
settings = sharedSettings;
extraConfig = sharedExtraConfig;
# extensions = commonExtensions
# ++ (with firefox-addons; [ react-devtools reduxdevtools ]);
};