diff options
| -rw-r--r-- | hosts/c-pc/configuration.nix | 16 | ||||
| -rw-r--r-- | snowfall/modules/nixos/system/default.nix | 20 | ||||
| -rw-r--r-- | 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 = { |