# https://discourse.nixos.org/t/declare-firefox-extensions-and-settings/36265 { pkgs, ... }: let lock-false = { Value = false; Status = "locked"; }; lock-true = { Value = true; Status = "locked"; }; in { environment.variables = rec { MOZ_GMP_PATH = "${pkgs.widevine-firefox}/gmp-widevinecdm/system-installed"; }; programs = { firefox = { enable = true; languagePacks = [ "en-US" ]; # ---- POLICIES ---- # Check about:policies#documentation for options. policies = { DisableTelemetry = true; DisableFirefoxStudies = true; EnableTrackingProtection = { Value = true; Locked = true; Cryptomining = true; Fingerprinting = true; }; DisablePocket = true; DisableFirefoxAccounts = true; DisableAccounts = true; DisableFirefoxScreenshots = true; OverrideFirstRunPage = ""; OverridePostUpdatePage = ""; DontCheckDefaultBrowser = true; DisplayBookmarksToolbar = "newtab"; # alternatives: "always" or "newtab" DisplayMenuBar = "always"; # alternatives: "always", "never" or "default-on" SearchBar = "unified"; # alternative: "separate" # ---- EXTENSIONS ---- # Check about:support for extension/add-on ID strings. # Valid strings for installation_mode are "allowed", "blocked", # "force_installed" and "normal_installed". # ExtensionSettings = { # # blocks all addons except the ones specified below # "*".installation_mode = "blocked"; # }; # ---- PREFERENCES ---- # Check about:config for options. Preferences = { "browser.contentblocking.category" = { Value = "strict"; Status = "locked"; }; "widget.use-xdg-desktop-portal.file-picker" = 1; "widget.gtk.global-menu.enabled" = lock-true; "widget.gtk.global-menu.wayland.enabled" = lock-true; "browser.tabs.inTitlebar" = 0; "extensions.pocket.enabled" = lock-false; "extensions.screenshots.disabled" = lock-true; "browser.topsites.contile.enabled" = lock-false; "browser.formfill.enable" = lock-false; "browser.search.suggest.enabled" = lock-false; "browser.search.suggest.enabled.private" = lock-false; "browser.urlbar.suggest.searches" = lock-false; "browser.urlbar.showSearchSuggestionsFirst" = lock-false; "browser.newtabpage.activity-stream.feeds.section.topstories" = lock-false; "browser.newtabpage.activity-stream.feeds.snippets" = lock-false; "browser.newtabpage.activity-stream.section.highlights.includePocket" = lock-false; "browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = lock-false; "browser.newtabpage.activity-stream.section.highlights.includeDownloads" = lock-false; "browser.newtabpage.activity-stream.section.highlights.includeVisited" = lock-false; "browser.newtabpage.activity-stream.showSponsored" = lock-false; "browser.newtabpage.activity-stream.system.showSponsored" = lock-false; "browser.newtabpage.activity-stream.showSponsoredTopSites" = lock-false; "media.gmp-widevinecdm.version" = "system-installed"; "media.gmp-widevinecdm.visible" = lock-true; "media.gmp-widevinecdm.enabled" = lock-true; "media.gmp-widevinecdm.autoupdate" = lock-false; "media.eme.enabled" = lock-true; "media.eme.encrypted-media-encryption-scheme.enabled" = lock-true; }; }; }; }; }