{ disko.devices = { disk = { vda = { device = "/dev/vda"; type = "disk"; content = { type = "gpt"; partitions = { boot = { name = "boot"; size = "1M"; type = "EF02"; }; esp = { name = "ESP"; size = "500M"; type = "EF00"; content = { type = "filesystem"; format = "vfat"; mountpoint = "/boot"; }; }; zfs = { size = "100%"; content = { type = "zfs"; pool = "local"; }; }; }; }; }; vdb = { device = "/dev/vdb"; type = "disk"; content = { type = "gpt"; partitions = { zfs = { size = "100%"; content = { type = "zfs"; pool = "backup"; }; }; }; }; }; vdc = { device = "/dev/vdc"; type = "disk"; content = { type = "gpt"; partitions = { zfs = { size = "100%"; content = { type = "zfs"; pool = "backup"; }; }; }; }; }; }; zpool = { local = { type = "zpool"; rootFsOptions = { compression = "zstd"; }; datasets = { root = { type = "zfs_fs"; mountpoint = "/"; postCreateHook = "zfs list -t snap -H -o name | grep -E '^local/root@blank$' || zfs snapshot local/root@blank"; }; nix = { type = "zfs_fs"; mountpoint = "/nix"; }; persist = { type = "zfs_fs"; mountpoint = "/persist"; }; }; }; backup = { type = "zpool"; rootFsOptions = { compression = "zstd"; }; }; }; }; }