{ config, lib, pkgs, ... }: let inherit (pkgs.stdenv) isLinux; in { config = lib.mkIf config.isGraphical { programs.chromium = { enable = isLinux; package = pkgs.ungoogled-chromium; }; programs.firefox = { enable = isLinux; profiles.default = { search.default = "DuckDuckGo"; search.force = true; extensions = with pkgs.nur.repos.rycee.firefox-addons; [ clearurls darkreader decentraleyes istilldontcareaboutcookies kagi-search languagetool mailvelope multi-account-containers onepassword-password-manager refined-github temporary-containers ublock-origin vimium ]; # Note: last updated 2024-09-10 settings = { "app.normandy.api_url" = ""; "app.normandy.enabled" = false; "app.shield.optoutstudies.enabled" = false; "app.update.auto" = false; "beacon.enabled" = false; "breakpad.reportURL" = ""; "browser.aboutConfig.showWarning" = false; "browser.cache.offline.enable" = false; "browser.crashReports.unsubmittedCheck.autoSubmit" = false; "browser.crashReports.unsubmittedCheck.autoSubmit2" = false; "browser.crashReports.unsubmittedCheck.enabled" = false; "browser.disableResetPrompt" = true; "browser.fixup.alternate.enabled" = false; "browser.formfill.enable" = false; "browser.newtab.preload" = false; "browser.newtabpage.activity-stream.section.highlights.includePocket" = false; "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; "browser.newtabpage.enabled" = false; "browser.newtabpage.enhanced" = false; "browser.newtabpage.introShown" = true; "browser.quitShortcut.disabled" = true; "browser.safebrowsing.appRepURL" = ""; "browser.safebrowsing.blockedURIs.enabled" = false; "browser.safebrowsing.downloads.enabled" = false; "browser.safebrowsing.downloads.remote.enabled" = false; "browser.safebrowsing.downloads.remote.url" = ""; "browser.safebrowsing.enabled" = false; "browser.safebrowsing.malware.enabled" = false; "browser.safebrowsing.phishing.enabled" = false; "browser.selfsupport.url" = ""; "browser.send_pings" = false; "browser.sessionstore.privacy_level" = 0; "browser.shell.checkDefaultBrowser" = false; "browser.startup.homepage_override.mstone" = "ignore"; "browser.tabs.crashReporting.sendReport" = false; "browser.tabs.firefox-view" = false; "browser.urlbar.groupLabels.enabled" = false; "browser.urlbar.quicksuggest.enabled" = false; "browser.urlbar.speculativeConnect.enabled" = false; "browser.urlbar.trimURLs" = false; "browser.warnOnQuitShortcut" = false; "datareporting.healthreport.service.enabled" = false; "datareporting.healthreport.uploadEnabled" = false; "datareporting.policy.dataSubmissionEnabled" = false; "device.sensors.ambientLight.enabled" = false; "device.sensors.enabled" = false; "device.sensors.motion.enabled" = false; "device.sensors.orientation.enabled" = false; "device.sensors.proximity.enabled" = false; "dom.battery.enabled" = false; "dom.event.clipboardevents.enabled" = false; "dom.private-attribution.submission.enabled" = false; "dom.security.https_only_mode" = true; "dom.security.https_only_mode_ever_enabled" = true; "dom.webaudio.enabled" = false; "experiments.activeExperiment" = false; "experiments.enabled" = false; "experiments.manifest.uri" = ""; "experiments.supported" = false; "extensions.getAddons.cache.enabled" = false; "extensions.getAddons.showPane" = false; "extensions.pocket.enabled" = false; "extensions.shield-recipe-client.api_url" = ""; "extensions.shield-recipe-client.enabled" = false; "extensions.webservice.discoverURL" = ""; "media.autoplay.default" = 2; "media.navigator.enabled" = false; "media.video_stats.enabled" = false; "network.IDN_show_punycode" = true; "network.allow-experiments" = false; "network.captive-portal-service.enabled" = false; "network.cookie.cookieBehavior" = 1; "network.dns.disablePrefetch" = true; "network.dns.disablePrefetchFromHTTPS" = true; "network.http.referer.spoofSource" = true; "network.http.speculative-parallel-limit" = 0; "network.predictor.enable-prefetch" = false; "network.predictor.enabled" = false; "network.prefetch-next" = false; "network.trr.mode" = 5; "pdfjs.enableScripting" = false; "privacy.donottrackheader.enabled" = true; "privacy.donottrackheader.value" = 1; "privacy.query_stripping" = true; "privacy.trackingprotection.cryptomining.enabled" = true; "privacy.trackingprotection.enabled" = true; "privacy.trackingprotection.fingerprinting.enabled" = true; "privacy.trackingprotection.pbmode.enabled" = true; "privacy.usercontext.about_newtab_segregation.enabled" = true; "security.ssl.disable_session_identifiers" = true; "services.sync.prefs.sync.browser.newtabpage.activity-stream.showSponsoredTopSite" = false; "signon.autofillForms" = false; "toolkit.telemetry.archive.enabled" = false; "toolkit.telemetry.bhrPing.enabled" = false; "toolkit.telemetry.cachedClientID" = ""; "toolkit.telemetry.enabled" = false; "toolkit.telemetry.firstShutdownPing.enabled" = false; "toolkit.telemetry.hybridContent.enabled" = false; "toolkit.telemetry.newProfilePing.enabled" = false; "toolkit.telemetry.prompted" = 2; "toolkit.telemetry.rejected" = true; "toolkit.telemetry.reportingpolicy.firstRun" = false; "toolkit.telemetry.server" = ""; "toolkit.telemetry.shutdownPingSender.enabled" = false; "toolkit.telemetry.unified" = false; "toolkit.telemetry.unifiedIsOptIn" = false; "toolkit.telemetry.updatePing.enabled" = false; "webgl.renderer-string-override" = " "; "webgl.vendor-string-override" = " "; # set these to false if you're copying this config... # it's to *enable* DRM, not disable it "media.eme.enabled" = true; "media.gmp-widevinecdm.enabled" = true; }; }; }; home.packages = lib.mkIf isLinux [ pkgs.mullvad-browser ]; xdg.mimeApps.defaultApplications = { "text/html" = "chromium.desktop"; "x-scheme-handler/http" = "chromium.desktop"; "x-scheme-handler/https" = "chromium.desktop"; "x-scheme-handler/about" = "chromium.desktop"; "x-scheme-handler/unknown" = "chromium.desktop"; }; }; }