diff --git a/DECISIONS.md b/DECISIONS.md index cd90d78..964028f 100644 --- a/DECISIONS.md +++ b/DECISIONS.md @@ -70,6 +70,21 @@ `let` binding because both read it. Verified at eval that the module's own ExtensionSettings entry for the German language pack survives alongside the two added ones — the option is a JSON-format type, so attribute sets merge per key. + The language pack turned out to have the very same split, which only showed on + the machine: `languagePacks` installs it and the policy reports it as active, + but the interface stayed English, and Firefox does not fall back to `LANG` + either. `RequestedLocales = [ "de" ]` is what switches to it. + + The first run on the machine turned up three more, all of them settings the + browser presents as switches: address autofill, payment autofill, and the + three Firefox Suggest switches. The autofill pair are plain preferences. + Suggest needed the `FirefoxSuggest` policy instead, for a reason worth + keeping: its preferences already ship as `false` and the profile sets no user + value, yet the switches were on — something turns them on at runtime, and a + preference set as a default does not hold against that. `ImproveSuggest`, the + data collection behind Suggest, is stated rather than left to follow from the + other two, so it cannot return if Suggest is ever switched back on. + Two of the settings are starting points rather than fixed states, which the policies cannot change: DisplayBookmarksToolbar sets the toolbar's initial state and the View menu still brings it back, and Homepage without `Locked` diff --git a/modules/browsers.nix b/modules/browsers.nix index dd19c87..ae75cc0 100644 --- a/modules/browsers.nix +++ b/modules/browsers.nix @@ -38,6 +38,13 @@ in # this, Firefox starts on the default look with Catppuccin sitting unused # in the add-on manager. "extensions.activeThemeID" = catppuccinThemeId; + + # The two autofill switches in the privacy settings, "Save and fill + # addresses" and "Save and fill payment methods". Each carries a capture + # half as a child preference, so one switch covers both storing and + # filling. Betterfox leaves these alone; Firefox ships them on. + "extensions.formautofill.addresses.enabled" = false; + "extensions.formautofill.creditCards.enabled" = false; }; # normal_installed rather than force_installed: both add-ons stay removable. @@ -57,6 +64,27 @@ in }; }; + # languagePacks installs the German pack, it does not switch to it — the + # same split as the theme above. Firefox does not derive this from LANG + # either: without the policy the interface stays English with the pack + # sitting installed and active. + RequestedLocales = [ "de" ]; + + # The three suggestion switches in the search settings. Their preferences + # ship as false and no user value sets them, so something enables them at + # runtime — the policy is what holds against that. From Firefox 146 on, + # WebSuggestions switches Suggest off as a whole; this is 156. + # + # ImproveSuggest is the data collection behind it: what gets typed into + # the address bar goes to Mozilla to improve the suggestions. It is stated + # rather than left to follow from the other two, so it does not come back + # if Suggest is ever turned on again. + FirefoxSuggest = { + WebSuggestions = false; + SponsoredSuggestions = false; + ImproveSuggest = false; + }; + SearchEngines.Default = "DuckDuckGo"; OfferToSaveLogins = false;