{ disko.devices = { disk = { main = { type = "disk"; device = "/dev/nvme0n1"; content = { type = "gpt"; partitions = { ESP = { size = "512M"; type = "EF00"; content = { type = "filesystem"; format = "vfat"; mountpoint = "/boot"; mountOptions = [ "umask=0077" ]; }; }; luks = { size = "100%"; content = { type = "luks"; name = "crypted"; # Critical for Samsung NVMe longevity/performance settings.allowDiscards = true; content = { type = "zfs"; pool = "zroot"; }; }; }; }; }; }; }; zpool = { zroot = { type = "zpool"; options = { ashift = "12"; autotrim = "on"; }; rootFsOptions = { acltype = "posixacl"; xattr = "sa"; dnodesize = "auto"; compression = "zstd"; normalization = "formD"; relatime = "on"; canmount = "off"; "com.sun:auto-snapshot" = "false"; }; datasets = { # Ephemeral root (rolls back to blank on boot) "root" = { type = "zfs_fs"; mountpoint = "/"; options.mountpoint = "legacy"; postCreateHook = "zfs snapshot zroot/root@blank"; }; # Nix store "nix" = { type = "zfs_fs"; mountpoint = "/nix"; options.mountpoint = "legacy"; options."com.sun:auto-snapshot" = "false"; }; # Persistent data "persist" = { type = "zfs_fs"; mountpoint = "/persist"; options.mountpoint = "legacy"; }; # Home directories "home" = { type = "zfs_fs"; mountpoint = "/home"; options.mountpoint = "legacy"; }; }; }; }; }; }