{pkgs, ...}: { programs = { browserpass = { enable = true; browsers = ["firefox"]; }; firefox = { enable = true; policies = { BlockAboutProfiles = true; Cookies = { Behavior = "reject-tracker-and-partition-foreign"; BehaviorPrivateBrowsing = "reject"; Locked = true; }; DefaultDownloadDirectory = "\${home}/Downloads"; DisableAppUpdate = true; DisableFirefoxAccounts = true; DisableFirefoxScreenshots = true; DisableFirefoxStudies = true; DisableFormHistory = true; DisablePocket = true; DisableProfileImport = true; DisableSetDesktopBackground = true; DisableSystemAddonUpdate = true; DisableTelemetry = true; DisplayMenuBar = "default-off"; DontCheckDefaultBrowser = true; EnableTrackingProtection = { Value = true; Locked = true; Cryptomining = true; Fingerprinting = true; }; ExtensionSettings = { "queryamoid@kaply.com" = { installation_mode = "force_installed"; install_url = "https://github.com/mkaply/queryamoid/releases/download/v0.1/query_amo_addon_id-0.1-fx.xpi"; }; "uBlock0@raymondhill.net" = { installation_mode = "force_installed"; install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"; }; "browserpass@maximbaz.com" = { installation_mode = "force_installed"; install_url = "https://addons.mozilla.org/firefox/downloads/latest/browserpass-ce/latest.xpi"; }; "addon@simplelogin" = { installation_mode = "force_installed"; install_url = "https://addons.mozilla.org/firefox/downloads/latest/simplelogin/latest.xpi"; }; }; FirefoxHome = { Search = true; TopSites = false; SponsoredTopSites = false; Highlights = false; Pocket = false; SponsoredPocket = false; Snippets = false; Locked = true; }; FirefoxSuggest = { WebSuggestions = false; SponsoredSuggestions = false; ImproveSuggest = false; Locked = true; }; HardwareAcceleration = true; Homepage = { Locked = true; StartPage = "homepage-locked"; }; NewTabPage = true; NoDefaultBookmarks = false; OfferToSaveLogins = false; PasswordManagerEnabled = false; PDFjs = {Enabled = false;}; Permissions = { Autoplay = { Default = "block-audio-video"; }; }; PictureInPicture = {Enabled = true;}; PopupBlocking = {Default = true;}; RequestedLocales = ["en-GB"]; SearchBar = "unified"; ShowHomeButton = true; StartDownloadsInTempDirectory = true; }; profiles.default = { bookmarks = builtins.fromJSON (builtins.readFile ./bookmarks.json); settings = { "app.shield.optoutstudies.enabled" = false; "browser.bookmarks.addedImportButton" = false; "browser.bookmarks.showMobileBookmarks" = false; "browser.toolbars.bookmarks.visibility" = "never"; "browser.contentblocking.category" = "strict"; "browser.search.region" = "GB"; "browser.search.isUS" = false; "browser.warnOnQuitShortcut" = false; "browser.zoom.siteSpecific" = false; "distribution.searchplugins.defaultLocale" = "en-GB"; "doh-rollout.home-region" = "GB"; "extensions.activeThemeID" = "default-theme@mozilla.org"; "extensions.formautofill.creditCards.enabled" = false; "general.useragent.locale" = "en-GB"; "intl.accept_languages" = "en-gb,en"; "intl.locale.requested" = "en-gb,en"; "intl.regional_prefs.use_os_locales" = true; "media.eme.enabled" = true; "privacy.webrtc.legacyGlobalIndicator" = false; "signon.management.page.breach-alerts.enabled" = false; "signon.rememberSignons" = false; "widget.use-xdg-desktop-portal.file-picker" = 1; "widget.use-xdg-desktop-portal.mime-handler" = 1; "widget.use-xdg-desktop-portal.open-uri" = 1; "browser.newtabpage.pinned" = [ { title = "NixOS Wiki"; url = "https://wiki.nixos.org"; } { title = "Arch Wiki"; url = "https://wiki.archlinux.org"; } ]; }; search = rec { default = "DuckDuckGo"; privateDefault = default; force = true; order = ["DuckDuckGo" "Atlas SearXNG"]; engines = { "Atlas SearXNG" = { urls = [{template = "https://search.atlas.engineer/searxng/search?q={searchTerms}";}]; definedAliases = ["@atlas"]; }; "NixOS Wiki" = { urls = [{template = "https://wiki.nixos.org/w/index.php?search={searchTerms}";}]; icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; definedAliases = ["@nix" "@nixos" "@nixoswiki"]; }; "Arch Wiki" = { urls = [{template = "https://wiki.archlinux.org/index.php?search={searchTerms}";}]; definedAliases = ["@aw" "@arch" "@archwiki"]; }; "GitHub" = { urls = [{template = "https://github.com/search?q={searchTerms}";}]; definedAliases = ["@gh" "@git" "@github"]; }; "FlatHub" = { url = [{template = "https://flathub.org/apps/search?q={searchTerms}";}]; definedAliases = ["@flat" "@fthub" "@flathub"]; }; "NixOS Packages" = { urls = [{template = "http://search.nixos.org/packages?channel=unstable&size=50&sort=relevance&type=packages&query={searchTerms}";}]; icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; definedAliases = ["@nixpkgs"]; }; "PyPI packages" = { urls = [{template = "https://pypi.org/search/?q={searchTerms}";}]; definedAliases = ["@pypi"]; }; }; }; }; }; }; }