{ pkgs, inputs, ... }: { programs.firefox = { enable = true; profiles.dark = { isDefault = true; id = 0; name = "dark"; settings = { "signon.rememberSignons" = false; "widget.use-xdg-desktop-portal.file-picker" = 1; "browser.aboutConfig.showWarning" = false; "browser.compactmode.show" = true; "browser.cache.disk.enable" = false; # Be kind to hard drive # Privacy settings "privacy.donottrackheader.enabled" = true; "privacy.trackingprotection.enabled" = true; "privacy.trackingprotection.socialtracking.enabled" = true; "privacy.partition.network_state.ocsp_cache" = true; # Disable all sorts of 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; # As well as Firefox 'experiments' "experiments.activeExperiment" = false; "experiments.enabled" = false; "experiments.supported" = false; "network.allow-experiments" = false; # Disable Pocket Integration "browser.newtabpage.activity-stream.section.highlights.includePocket" = false; "browser.newtabpage.activity-stream.showSponsored" = false; "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; "extensions.pocket.enabled" = false; "extensions.pocket.api" = ""; "extensions.pocket.oAuthConsumerKey" = ""; "extensions.pocket.showHome" = false; "extensions.pocket.site" = ""; }; search = { force = true; default = "Searx"; order = [ "Searx" "Google" ]; engines = { "Nix Packages" = { urls = [{ template = "https://search.nixos.org/packages"; params = [ { name = "type"; value = "packages"; } { name = "query"; value = "{searchTerms}"; } ]; }]; icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; definedAliases = [ "@np" ]; }; "NixOS Wiki" = { urls = [{ template = "https://nixos.wiki/index.php?search={searchTerms}"; }]; iconUpdateURL = "https://nixos.wiki/favicon.png"; updateInterval = 24 * 60 * 60 * 1000; # every day definedAliases = [ "@nw" ]; }; "Searx" = { urls = [{ template = "https://searx.aicampground.com/?q={searchTerms}"; }]; iconUpdateURL = "https://nixos.wiki/favicon.png"; updateInterval = 24 * 60 * 60 * 1000; # every day definedAliases = [ "@searx" ]; }; "Bing".metaData.hidden = true; "Google".metaData.alias = "@g"; # builtin engines only support specifying one additional alias }; }; extensions = with inputs.firefox-addons.packages.${pkgs.system}; [ bitwarden multi-account-containers zotero-connector unpaywall ]; }; }; }