diff options
Diffstat (limited to 'snowfall')
| -rw-r--r-- | snowfall/modules/nixos/system/default.nix | 20 | ||||
| -rw-r--r-- | snowfall/systems/x86_64-linux/c-pc/default.nix | 1 |
2 files changed, 21 insertions, 0 deletions
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 = { |