From 1c4672d602de2a6022f759996025cb7df0237862 Mon Sep 17 00:00:00 2001 From: Soispha Date: Mon, 3 Jul 2023 15:04:48 +0200 Subject: Feat(system/file_system_layout): Add impermanence --- system/file_system_layouts/default.nix | 15 +++++---------- system/file_system_layouts/impermanence.nix | 16 ++++++++++++++++ 2 files changed, 21 insertions(+), 10 deletions(-) create mode 100644 system/file_system_layouts/impermanence.nix (limited to 'system/file_system_layouts') 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" + ]; + }; + }; +} -- cgit 1.4.1