summaryrefslogtreecommitdiff
path: root/nodes/snorlax/disk-config.nix
diff options
context:
space:
mode:
authorJasper Ras <jaspert.ras@gmail.com>2025-03-29 12:54:20 +0100
committerJasper Ras <jaspert.ras@gmail.com>2025-03-29 12:54:20 +0100
commit5bf105b94f3c63bc738b788b2b651985eed96c11 (patch)
treec8b98b552fede2854fdc9ebf59f8a030ebd7e3cd /nodes/snorlax/disk-config.nix
parent5b41ca762c6a44fa7a77e5f5324bcecf8a47f4c7 (diff)
dynamic nodes
Diffstat (limited to 'nodes/snorlax/disk-config.nix')
-rw-r--r--nodes/snorlax/disk-config.nix61
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";
+ };
+ };
+ };
+ };
+ };
+}