{ disko.devices = { disk = { sda = { type = "disk"; device = "/dev/sda"; content = { type = "gpt"; partitions = { ESP = { size = "1G"; type = "EF00"; content = { type = "filesystem"; format = "vfat"; mountpoint = "/boot"; mountOptions = [ "defaults" ]; extraArgs = [ "-nboot" ]; }; }; 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"; canmount = "off"; compression = "on"; dnodesize = "auto"; encryption = "aes-256-gcm"; keyformat = "passphrase"; keylocation = "file:///tmp/data.keyfile"; #normalization = "formD"; # disabled due to previous issue: https://github.com/NixOS/nixpkgs/pull/86432 relatime = "on"; xattr = "sa"; }; postCreateHook = '' zfs set keylocation="prompt" rpool ''; options = { ashift = "12"; #autotrim = "on"; }; datasets = { "local" = { type = "zfs_fs"; options.mountpoint = "none"; }; "local/root" = { type = "zfs_fs"; options.mountpoint = "legacy"; mountpoint = "/"; }; "local/nix" = { type = "zfs_fs"; options = { atime = "off"; mountpoint = "legacy"; }; mountpoint = "/nix"; }; "user" = { type = "zfs_fs"; options.mountpoint = "none"; mountpoint = "/home"; }; "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"; }; }; }; }; }; }