{ pkgs, ... }: { programs.firefox = { enable = true; # Install extensions from NUR extensions = with pkgs.nur.repos.rycee.firefox-addons; [ ublock-origin facebook-container clearurls bitwarden sponsorblock enhancer-for-youtube return-youtube-dislikes tab-session-manager darkreader tampermonkey to-google-translate h264ify betterttv ]; # Privacy about:config settings profiles.seanomik = { search = { force = true; default = "DuckDuckGo"; order = [ "DuckDuckGo" "Google" ]; engines = { "Amazon.com".metaData.alias = "@a"; "Bing".metaData.hidden = true; "eBay".metaData.hidden = true; "Google".metaData.alias = "@g"; "Wikipedia (en)".metaData.alias = "@w"; "GitHub" = { urls = [{ template = "https://github.com/search"; params = [ { name = "q"; value = "{searchTerms}"; } ]; }]; icon = "${pkgs.fetchurl { url = "https://github.githubassets.com/favicons/favicon.svg"; sha256 = "sha256-apV3zU9/prdb3hAlr4W5ROndE4g3O1XMum6fgKwurmA="; }}"; definedAliases = [ "@gh" ]; }; "Nix Packages" = { urls = [{ template = "https://search.nixos.org/packages"; params = [ { name = "channel"; value = "unstable"; } { name = "query"; value = "{searchTerms}"; } ]; }]; icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; definedAliases = [ "@np" ]; }; }; }; settings = { "browser.toolbars.bookmarks.visibility" = "always"; # Disable telemetry "browser.newtabpage.activity-stream.feeds.telemetry" = false; "browser.ping-centre.telemetry" = false; "browser.tabs.crashReporting.sendReport" = false; "devtools.onboarding.telemetry.logged" = false; "toolkit.telemetry.enabled" = false; "toolkit.telemetry.unified" = false; "toolkit.telemetry.server" = ""; # Disable Pocket "browser.newtabpage.activity-stream.feeds.discoverystreamfeed" = false; "browser.newtabpage.activity-stream.feeds.section.topstories" = false; "browser.newtabpage.activity-stream.section.highlights.includePocket" = false; "browser.newtabpage.activity-stream.showSponsored" = false; "extensions.pocket.enabled" = false; "media.autoplay.enabled" = false; "privacy.firstparty.isolate" = true; "network.http.sendRefererHeader" = 0; }; }; }; }