diff options
author | Soispha <soispha@vhack.eu> | 2023-07-03 15:04:48 +0200 |
---|---|---|
committer | Soispha <soispha@vhack.eu> | 2023-07-04 16:31:26 +0200 |
commit | 1c4672d602de2a6022f759996025cb7df0237862 (patch) | |
tree | 4a7c996693d167e1885db7046227c6d3acc7ad6f /system/file_system_layouts | |
parent | Fix(system/services/nix-sync): Remove slash from cachePath (diff) | |
download | nixos-server-1c4672d602de2a6022f759996025cb7df0237862.tar.gz nixos-server-1c4672d602de2a6022f759996025cb7df0237862.zip |
Feat(system/file_system_layout): Add impermanence
Diffstat (limited to '')
-rw-r--r-- | system/file_system_layouts/default.nix | 15 | ||||
-rw-r--r-- | system/file_system_layouts/impermanence.nix | 16 |
2 files changed, 21 insertions, 10 deletions
diff --git a/system/file_system_layouts/default.nix b/system/file_system_layouts/default.nix index fe7fc3f..d038632 100644 --- a/system/file_system_layouts/default.nix +++ b/system/file_system_layouts/default.nix @@ -1,5 +1,4 @@ { - modulesPath, config, lib, ... @@ -7,6 +6,10 @@ with lib; let cfg = config.system.fileSystemLayouts; in { + imports = [ + ./impermanence.nix + ]; + options.system.fileSystemLayouts = { mainDisk = mkOption { type = lib.types.path; @@ -30,20 +33,12 @@ in { device = cfg.mainDisk; fsType = "btrfs"; options = ["subvol=storage" "compress-force=zstd"]; + neededForBoot = true; }; "/boot" = { device = cfg.mainDisk; options = ["subvol=boot" "compress-force=zstd"]; }; - - "/etc/nixos" = { - device = "/srv/nix-config"; - options = ["bind"]; - }; - "/var/lib/postgresql" = { - device = "/srv/postgresql"; - options = ["bind"]; - }; }; }; } diff --git a/system/file_system_layouts/impermanence.nix b/system/file_system_layouts/impermanence.nix new file mode 100644 index 0000000..da38791 --- /dev/null +++ b/system/file_system_layouts/impermanence.nix @@ -0,0 +1,16 @@ +{...}: { + environment.persistence = { + "/srv" = { + hideMounts = true; + directories = [ + "/etc/nixos" + "/var/log" + "/var/lib/postgresql" + "/var/lib/acme" + ]; + files = [ + "/etc/machine-id" + ]; + }; + }; +} |