{ vars, ... }: { # ZFS RAID0 (striped, no redundancy) root pool for the bare-metal gui # host — two disks, each contributing its own top-level vdev. disko's # zpool `mode` defaults to "" (plain stripe) when left unset, which is # what gives RAID0 semantics here rather than mirror/raidz. # # Device paths are placeholders until the real hardware profile lands — # fill in vars.guiRootDisk1/guiRootDisk2 (stable /dev/disk/by-id/... # paths, not /dev/sdX) before running disko against real hardware. Swap # is deliberately left out for now — sizing that sensibly needs the # box's actual RAM size, which comes with the hardware profile too. # # Not yet imported anywhere: this awaits the new bare-metal platform # module (alongside modules/boot/efi.nix for systemd-boot, matching # modules/platforms/proxmox.nix's pattern) once the hardware config is # in hand. disko.devices = { disk = { disk1 = { type = "disk"; device = vars.guiRootDisk1; content = { type = "gpt"; partitions = { esp = { priority = 1; name = "ESP"; size = "512M"; type = "EF00"; content = { type = "filesystem"; format = "vfat"; mountpoint = "/boot"; mountOptions = [ "umask=0077" ]; }; }; zfs = { size = "100%"; content = { type = "zfs"; pool = "rpool"; }; }; }; }; }; disk2 = { type = "disk"; device = vars.guiRootDisk2; content = { type = "gpt"; partitions = { zfs = { size = "100%"; content = { type = "zfs"; pool = "rpool"; }; }; }; }; }; }; zpool.rpool = { type = "zpool"; rootFsOptions = { compression = "zstd"; "com.sun:auto-snapshot" = "false"; }; mountpoint = "/"; options.ashift = "12"; }; }; }