{ pkgs, ... }: let policiesJson = builtins.toJSON { policies = { DisableTelemetry = true; DisableFirefoxStudies = true; DisablePocket = true; DisableFirefoxAccounts = true; FirefoxHome = { Search = true; TopSites = true; SponsoredTopSites = false; Highlights = false; Pocket = false; SponsoredPocket = false; }; SanitizeOnShutdown = { Cache = true; Cookies = false; History = false; Sessions = true; SiteSettings = false; OfflineApps = true; }; ExtensionSettings = { "{446900e4-71c2-419f-a6a7-df9c091e268b}" = { install_url = "https://addons.mozilla.org/firefox/downloads/latest/bitwarden-password-manager/latest.xpi"; installation_mode = "force_installed"; }; "floccus@handmadeideas.org" = { install_url = "https://addons.mozilla.org/firefox/downloads/latest/floccus/latest.xpi"; installation_mode = "force_installed"; }; "uBlock0@raymondhill.net" = { install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"; installation_mode = "force_installed"; }; "{15cb5e64-94bd-41aa-91cf-751bb1a84972}" = { install_url = "https://addons.mozilla.org/firefox/downloads/latest/catppuccin-macchiato-lavender2/latest.xpi"; installation_mode = "force_installed"; }; }; Preferences = { "browser.startup.homepage" = { Value = "about:home"; Status = "locked"; }; "extensions.autoDisableScopes" = { Value = 0; Status = "locked"; }; "browser.toolbars.bookmarks.visibility" = { Value = "always"; Status = "locked"; }; "network.cookie.cookieBehavior" = { Value = 1; Status = "locked"; }; "privacy.clearOnShutdown.cookies" = { Value = false; Status = "locked"; }; "privacy.clearOnShutdown.history" = { Value = false; Status = "locked"; }; "sidebar.revamp" = { Value = true; Status = "locked"; }; "sidebar.verticalTabs" = { Value = true; Status = "locked"; }; "sidebar.main.tools" = { Value = "bookmarks,history,tabs"; Status = "locked"; }; "sidebar.visibility" = { Value = "always"; Status = "locked"; }; "extensions.activeThemeID" = { Value = "{1d573fb2-437c-4440-9b7b-b72a3eaec105}"; Status = "locked"; }; }; }; }; policiesFile = pkgs.writeText "librewolf-policies.json" policiesJson; in { system.activationScripts.postActivation.text = '' DIST_DIR="/Applications/LibreWolf.app/Contents/Resources/distribution" if [ -d "/Applications/LibreWolf.app" ]; then mkdir -p "$DIST_DIR" cp ${policiesFile} "$DIST_DIR/policies.json" chmod 644 "$DIST_DIR/policies.json" echo "LibreWolf policies applied." fi ''; }