let mkDrive = bootMountpoint: { type = "disk"; content = { type = "gpt"; partitions = { boot = { size = "1M"; type = "EF02"; # for grub MBR }; ESP = { size = "512M"; type = "EF00"; content = { type = "filesystem"; format = "vfat"; mountpoint = bootMountpoint; mountOptions = ["umask=0077"]; }; }; swap = { size = "8G"; content = { type = "swap"; discardPolicy = "both"; }; }; mdadm = { size = "100%"; content = { type = "mdraid"; name = "raid1"; }; }; }; }; }; in { disko.devices = { disk = { one = mkDrive "/boot"; two = mkDrive "/boot2"; }; mdadm = { raid1 = { type = "mdadm"; level = 1; content = { type = "gpt"; partitions.primary = { size = "100%"; content = { type = "filesystem"; format = "ext4"; mountpoint = "/"; }; }; }; }; }; }; }