diff options
author | Jasper Ras <jaspert.ras@gmail.com> | 2025-03-29 12:54:20 +0100 |
---|---|---|
committer | Jasper Ras <jaspert.ras@gmail.com> | 2025-03-29 12:54:20 +0100 |
commit | 5bf105b94f3c63bc738b788b2b651985eed96c11 (patch) | |
tree | c8b98b552fede2854fdc9ebf59f8a030ebd7e3cd /nodes/snorlax/disk-config.nix | |
parent | 5b41ca762c6a44fa7a77e5f5324bcecf8a47f4c7 (diff) |
dynamic nodes
Diffstat (limited to 'nodes/snorlax/disk-config.nix')
-rw-r--r-- | nodes/snorlax/disk-config.nix | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/nodes/snorlax/disk-config.nix b/nodes/snorlax/disk-config.nix new file mode 100644 index 0000000..39a9ccf --- /dev/null +++ b/nodes/snorlax/disk-config.nix @@ -0,0 +1,61 @@ +{ + disko.devices = { + disk = { + sda = { + device = "/dev/sda"; + type = "disk"; + content = { + type = "gpt"; + partitions = { + ESP = { + type = "EF00"; + size = "1G"; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot"; + mountOptions = [ "umask=0077" ]; + }; + }; + zfs = { + size = "100%"; + content = { + type = "zfs"; + pool = "data"; + }; + }; + }; + }; + }; + }; + + zpool = { + data = { + type = "zpool"; + + rootFsOptions = { + compression = "zstd"; + "com.sun:auto-snapshot" = "false"; + }; + + datasets = { + "local/root" = { + type = "zfs_fs"; + mountpoint = "/"; + postCreateHook = "zfs list -t snap -H -o name | grep -E '^data/local/root@blank$' || zfs snapshot data/local/root@blank"; + }; + + "local/nix" = { + type = "zfs_fs"; + mountpoint = "/nix"; + }; + + "safe/persist" = { + type = "zfs_fs"; + mountpoint = "/persist"; + }; + }; + }; + }; + }; +} |