{ pkgs, ... }: { programs.firefox = { enable = true; package = pkgs.firefox-bin; profiles.default = { isDefault = true; extensions = with pkgs.nur.repos.rycee.firefox-addons; [ ublock-origin onepassword-password-manager ]; bookmarks = [ { name = "GitHub Notifications"; keyword = "n"; url = "https://github.com/notifications?query=is%3Aunread"; } { name = "GitHub Pull Requests"; keyword = "p"; url = "https://github.com/pulls"; } ]; search = { default = "DuckDuckGo"; 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" ]; }; "Google".metaData.hidden = true; "Amazon.com".metaData.hidden = true; "Bing".metaData.hidden = true; "DuckDuckGo".metaData.hidden = true; "eBay".metaData.hidden = true; "Wikipedia (en)".metaData.alias = "w"; }; force = true; }; settings = { "app.update.auto" = false; "browser.shell.checkDefaultBrowser" = false; "browser.contentblocking.category" = "strict"; "browser.newtabpage.enabled" = false; # Make new tabs blank "browser.startup.page" = 3; # Restore previous windows and tabs on startup. "browser.warnOnQuit" = false; "dom.forms.autocomplete.formautofill" = false; # Disable autofill "extensions.formautofill.creditCards.enabled" = false; # Disable credit cards "extensions.htmlaboutaddons.inline-options.enabled" = false; "extensions.htmlaboutaddons.recommendations.enabled" = false; "extensions.pocket.enabled" = false; "extensions.pocket.showHome" = false; # Disable Sponsored Top Sites "services.sync.prefs.sync.browser.newtabpage.activity-stream.showSponsoredTopSite" = false; "network.http.referer.spoofSource" = true; "privacy.donottrackheader.value" = 1; "privacy.donottrackheader.enabled" = true; }; }; }; }