aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hosts/c-pc/configuration.nix16
-rw-r--r--snowfall/modules/nixos/system/default.nix20
-rw-r--r--snowfall/systems/x86_64-linux/c-pc/default.nix1
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 = {