diff --git a/modules/desktop/browsers/firefox.nix b/modules/desktop/browsers/firefox.nix index 205d884..eeeeef0 100644 --- a/modules/desktop/browsers/firefox.nix +++ b/modules/desktop/browsers/firefox.nix @@ -25,10 +25,106 @@ in { @import "firefox-gnome-theme/userContent.css"; ''; settings = { + ## GNOME theme "toolkit.legacyUserProfileCustomizations.stylesheets" = true; # Enable customChrome.cs "browser.uidensity" = 0; # Set UI density to normal "svg.context-properties.content.enabled" = true; # Enable SVG context-propertes "browser.theme.dark-private-windows" = false; # Disable private window dark theme + + ## Preferences + "browser.ctrlTab.sortByRecentlyUsed" = true; + "browser.newtabpage.enabled" = false; + "browser.search.widget.inNavBar" = true; + "browser.startup.page" = 3; + "browser.startup.homepage" = "https://www.vimium.com"; + "browser.toolbars.bookmarks.visibility" = "never"; + + ## Experiments + "app.normandy.enabled" = false; + "app.normandy.api_url" = ""; + "app.normandy.user_id" = ""; + "extensions.screenshots.disabled" = true; + "extensions.screenshots.upload-disabled" = true; + "experiments.supported" = false; + "experiments.enabled" = false; + "experiments.manifest.uri" = ""; + "network.allow-experiments" = false; + "privacy.trackingprotection.enabled" = false; + + ## Geo + "geo.enabled" = false; + "geo.provider.use_gpsd" = false; + "geo.wifi.uri" = ""; + "browser.search.geoip.url" = ""; + "browser.search.geoSpecificDefaults" = false; + "browser.search.geoSpecificDefaults.url" = ""; + + ## Window meddling / popups + "dom.disable_window_open_feature.close" = true; + "dom.disable_window_open_feature.location" = true; + "dom.disable_window_open_feature.menubar" = true; + "dom.disable_window_open_feature.minimizable" = true; + "dom.disable_window_open_feature.personalbar" = true; + "dom.disable_window_open_feature.resizable" = true; + "dom.disable_window_open_feature.status" = true; + "dom.disable_window_open_feature.titlebar" = true; + "dom.disable_window_open_feature.toolbar" = true; + "dom.disable_window_move_resize" = true; + "browser.link.open_newwindow" = 3; + "browser.link.open_newwindow.restriction" = 0; + "dom.disable_open_during_load" = true; + "dom.popup_allowed_events" = "click dblclick"; + + ## Workers + # "dom.serviceWorkers.enabled" = false; + "dom.push.enabled" = false; + "dom.webnotifications.enabled" = false; + "dom.webnotifications.serviceworker.enabled" = false; + "permissions.default.desktop-notification" = 2; + + ## DOM / JavaScript + "dom.event.clipboardevents.enabled" = false; + "middlemouse.paste" = false; + "dom.allow_cut_copy" = false; + "dom.disable_beforeunload" = true; + "dom.vibrator.enabled" = false; + # "javascript.options.asmjs" = false; + # "javascript.options.wasm" = false; + "dom.targetBlankNoOpener.enabled" = true; + + ## Hardware fingerprinting + "dom.battery.enabled" = false; + "dom.vr.enabled" = false; + "media.navigator.enabled" = false; + "dom.webaudio.enabled" = false; + + ## Isolation + "privacy.firstparty.isolate" = true; + "privacy.firstparty.isolate.restrict_opener_access" = true; + + ## Pocket/Hello + "loop.enabled" = false; + "loop.feedback.baseUrl" = ""; + "loop.gettingStarted.url" = ""; + "loop.learnMoreUrl" = ""; + "loop.legal.ToS_url" = ""; + "loop.legal.privacy_url" = ""; + "loop.oauth.google.redirect_uri" = ""; + "loop.oauth.google.scope" = ""; + "loop.server" = ""; + "loop.soft_start_hostname" = ""; + "loop.support_url" = ""; + "loop.throttled2" = false; + "loop.logDomains" = false; + "browser.pocket.enabled" = false; + "browser.pocket.api" = ""; + "browser.pocket.site" = ""; + "browser.pocket.oAuthConsumerKey" = ""; + "browser.pocket.useLocaleList" = false; + "brwoser.pocket.enabledLocales" = ""; + + ## Misc + "browser.selfsupport.url" = ""; }; }; };