aboutsummaryrefslogtreecommitdiff
path: root/profiles/disableUpdates.nix
diff options
context:
space:
mode:
Diffstat (limited to 'profiles/disableUpdates.nix')
-rw-r--r--profiles/disableUpdates.nix44
1 files changed, 44 insertions, 0 deletions
diff --git a/profiles/disableUpdates.nix b/profiles/disableUpdates.nix
new file mode 100644
index 0000000..ed5cccb
--- /dev/null
+++ b/profiles/disableUpdates.nix
@@ -0,0 +1,44 @@
+{ config, lib, ff, ... }: with lib; {
+ options.features.disableUpdates = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ Disable all automatic updates, including:
+ - Firefox itself
+ - Extensions
+ - Search providers
+
+ If some or all of these are externally managed, we may want to prevent automatic
+ updates from undoing our changes.
+
+ If any properties of our deployment have been audited, automatic updates may introduce
+ unaudited components and compromise any guarantees made about the users security or privacy.
+ '';
+ };
+
+ config = lib.mkIf config.features.disableUpdates {
+ policies = {
+ DisableAppUpdate = true;
+ DisableSystemAddonUpdate = true;
+ ExtensionUpdate = false;
+
+ Preferences = ff.flattenAttrs {
+ app.update.auto = false;
+ browser.search.update = false;
+ };
+ };
+
+ preferences = {
+ # try really hard to prevent search engine resets, probably wrong
+ browser.search = {
+ update = false;
+ geoSpecificDefaults = false;
+ "geoSpecificDefaults.url" = "";
+ geoip.url = "";
+ suggest.enabled = false;
+ reset.enabled = false;
+ reset.whitelist = "";
+ };
+ };
+ };
+}