{ config, pkgs, ... }: { programs.firefox = { enable = true; languagePacks = [ "en-US" ]; nativeMessagingHosts = with pkgs; [ kdePackages.plasma-browser-integration ]; policies = { DefaultDownloadDirectory = config.xdg.userDirs.download; DisableFirefoxAccounts = true; DisableFirefoxStudies = true; DisablePocket = true; DisableProfileImport = true; DisableProfileRefresh = true; DisableTelemetry = true; DontCheckDefaultBrowser = true; EnableTrackingProtection = { Value = true; # Tracking protection is enabled by default in both the regular browser and private browsing Locked = true; # Whether or not a user can change tracking protection Cryptomining = true; # Block cryptomining scripts Fingerprinting = true; # Block fingerprinting scripts EmailTracking = true; # Block email tracking pixels and scripts }; FirefoxHome = { Search = true; TopSites = true; SponsoredTopSites = false; Highlights = false; Pocket = false; Stories = false; SponsoredPocket = false; SponsoredStories = false; Snippets = true; Locked = true; }; FirefoxSuggest = { WebSuggestions = true; SponsoredSuggestions = false; ImproveSuggest = false; Locked = true; }; Homepage = { URL = "http://100.78.212.35:30054"; Locked = true; StartPage = "homepage"; }; OfferToSaveLogins = false; OverrideFirstRunPage = ""; PasswordManagerEnabled = false; PopupBlocking = { Default = false; Locked = true; }; PrimaryPassword = false; SearchBar = "unified"; ShowHomeButton = true; SkipTermsOfUse = true; }; profiles.eclypse = { name = "Eclypse"; isDefault = true; extensions = { force = true; packages = with pkgs.nur.repos.rycee.firefox-addons; [ ublock-origin bitwarden plasma-integration ]; settings = { "uBlock0@raymondhill.net".settings = { selectedFilterLists = [ "ublock-filters" "ublock-badware" "ublock-privacy" "ublock-unbreak" "ublock-quick-fixes" ]; }; }; }; search = { default = "google"; engines = { nix-packages = { name = "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" ]; }; chat-gpt = { name = "ChatGPT"; urls = [ { template = "https://chatgpt.com?q={searchTerms}&temporary-chat=true"; } ]; iconMapObj."64" = "https://chatgpt.com/favicon.ico"; definedAliases = [ "@gpt" ]; }; }; }; settings = { # Auto-enable extensions "extensions.autoDisableScopes" = 0; }; }; }; }