diff --git a/modules/librewolf.nix b/modules/librewolf.nix index 2307cba..021d82a 100644 --- a/modules/librewolf.nix +++ b/modules/librewolf.nix @@ -1,7 +1,7 @@ { pkgs, ... }: let - policies = builtins.toJSON { + policiesJson = builtins.toJSON { policies = { DisableTelemetry = true; DisableFirefoxStudies = true; @@ -46,38 +46,64 @@ let }; Preferences = { - "browser.startup.homepage" = "about:home"; - "extensions.autoDisableScopes" = 0; - "browser.toolbars.bookmarks.visibility" = "always"; - "network.cookie.cookieBehavior" = 1; - "privacy.clearOnShutdown.cookies" = false; - "privacy.clearOnShutdown.history" = false; - "sidebar.revamp" = true; - "sidebar.verticalTabs" = true; - "sidebar.main.tools" = "bookmarks,history,tabs"; - "sidebar.visibility" = "always"; + "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 = "{15cb5e64-94bd-41aa-91cf-751bb1a84972}"; + Value = "{1d573fb2-437c-4440-9b7b-b72a3eaec105}"; Status = "locked"; }; }; }; }; - policiesFile = pkgs.writeText "librewolf-policies.json" policies; + policiesFile = pkgs.writeText "librewolf-policies.json" policiesJson; in { system.activationScripts.postActivation.text = '' - echo ">>> Writing LibreWolf policies..." - 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 ">>> Done. Content:" - cat "$DIST_DIR/policies.json" - else - echo ">>> LibreWolf.app not found!" - fi - ''; + 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 + ''; }