{ disko.devices = { disk = { sda = { type = "disk"; device = "/dev/sda"; content = { type = "gpt"; partitions = { boot = { size = "4M"; type = "EF02"; }; ESP = { size = "1G"; type = "EF00"; content = { type = "filesystem"; format = "vfat"; mountpoint = "/boot"; mountOptions = [ "defaults" ]; extraArgs = [ "-n boot" ]; }; }; swap = { size = "16G"; type = "8200"; content = { type = "swap"; extraArgs = [ "-L swap" ]; }; }; rpool = { size = "100%"; content = { type = "zfs"; pool = "rpool"; }; }; }; }; }; }; zpool = { rpool = { type = "zpool"; rootFsOptions = { acltype = "posixacl"; dnodesize = "auto"; xattr = "sa"; relatime = "on"; normalization = "formD"; encryption = "aes-256-gcm"; keyformat = "passphrase"; keylocation = "file:///tmp/data.keyfile"; compression = "on"; }; postCreateHook = '' zfs set keylocation="prompt" rpool ''; options = { ashift = "12"; #autotrim = "on"; }; datasets = { "local/root" = { type = "zfs_fs"; options.mountpoint = "legacy"; mountpoint = "/"; }; "local/nix" = { type = "zfs_fs"; options = { atime = "off"; mountpoint = "legacy"; }; mountpoint = "/nix"; }; "user/home" = { type = "zfs_fs"; options.mountpoint = "legacy"; mountpoint = "/home"; }; "user/home/root" = { type = "zfs_fs"; options.mountpoint = "legacy"; mountpoint = "/root"; }; "user/home/nipsy" = { type = "zfs_fs"; options.mountpoint = "legacy"; mountpoint = "/home/nipsy"; }; }; }; }; }; }