From 7d0b7575657aabdf58307e7e6c0cc037d2c14147 Mon Sep 17 00:00:00 2001 From: Caroline Larimore Date: Tue, 4 Feb 2025 22:15:16 -0800 Subject: migration: root impermanence --- hosts/c-pc/configuration.nix | 16 ---------------- snowfall/modules/nixos/system/default.nix | 20 ++++++++++++++++++++ snowfall/systems/x86_64-linux/c-pc/default.nix | 1 + 3 files changed, 21 insertions(+), 16 deletions(-) diff --git a/hosts/c-pc/configuration.nix b/hosts/c-pc/configuration.nix index df060d0..eabe18a 100644 --- a/hosts/c-pc/configuration.nix +++ b/hosts/c-pc/configuration.nix @@ -10,22 +10,6 @@ nix.settings.experimental-features = [ "nix-command" "flakes" ]; - environment.persistence."/persist/system" = { - hideMounts = true; - - directories = [ - "/etc/nixos" - "/var/log" - "/var/lib/nixos" - "/var/lib/systemd/coredump" - #"/var/lib/bluetooth" - ]; - - files = [ - "/etc/machine-id" - ]; - }; - programs.fuse.userAllowOther = true; time.timeZone = "America/Los_Angeles"; diff --git a/snowfall/modules/nixos/system/default.nix b/snowfall/modules/nixos/system/default.nix index 9fa3902..dc790bd 100644 --- a/snowfall/modules/nixos/system/default.nix +++ b/snowfall/modules/nixos/system/default.nix @@ -12,10 +12,30 @@ in { default = null; type = nullOr str; }; + + impermanent = mkEnableOption "root impermanence"; }; config = { networking.hostName = cfg.hostname; networking.hostId = cfg.id; + + environment = mkIf cfg.impermanent { + persistence."/persist/system" = { + hideMounts = true; + + directories = [ + "/etc/nixos" + "/var/log" + "/var/lib/nixos" + "/var/lib/systemd/coredump" + # "/var/lib/bluetooth" + ]; + + files = [ + "/etc/machine-id" + ]; + }; + }; }; } diff --git a/snowfall/systems/x86_64-linux/c-pc/default.nix b/snowfall/systems/x86_64-linux/c-pc/default.nix index 8d80b9a..5301ed8 100644 --- a/snowfall/systems/x86_64-linux/c-pc/default.nix +++ b/snowfall/systems/x86_64-linux/c-pc/default.nix @@ -10,6 +10,7 @@ with lib; with lib.${namespace}; { system = { hostname = "c-pc"; id = "23ce94ff"; + impermanent = true; }; suites = { -- cgit v1.2.3