diff --git a/hosts/lemur/disko.nix b/hosts/lemur/disko.nix index 9799e0b..fcad018 100644 --- a/hosts/lemur/disko.nix +++ b/hosts/lemur/disko.nix @@ -1,95 +1,104 @@ { disko.devices = { disk = { - disk0 = { - device = "/dev/nvme0n1"; + one = { type = "disk"; + device = "/dev/nvme0n1"; content = { type = "gpt"; partitions = { boot = { - name = "boot"; - size = "1M"; - type = "EF02"; - }; - ESP = { - priority = 1; size = "1G"; type = "EF00"; content = { - type = "filesystem"; - format = "vfat"; - mountpoint = "/boot"; - mountOptions = [ - "defaults" - "umask=0077" - ]; - extraArgs = [ - "-n" - "BOOT" - ]; + type = "mdraid"; + name = "boot"; }; }; - swap = { - size = "45G"; - content = { - type = "swap"; - discardPolicy = "both"; - resumeDevice = true; - extraArgs = [ - "--label" - "SWAP" - ]; - }; - }; - root = { + primary = { size = "100%"; content = { - type = "filesystem"; - format = "ext4"; - mountpoint = "/"; - extraArgs = [ - "-L" - "ROOT" - ]; + type = "lvm_pv"; + vg = "pool"; }; }; }; }; }; - disk1 = { - device = "/dev/nvme1n1"; + two = { type = "disk"; + device = "/dev/nvme1n1"; content = { type = "gpt"; partitions = { - data = { - size = "1T"; + boot = { + size = "1G"; + type = "EF00"; content = { - type = "filesystem"; - format = "ext4"; - mountpoint = "/data"; - extraArgs = [ - "-L" - "DATA" - ]; + type = "mdraid"; + name = "boot"; }; }; - home = { + primary = { size = "100%"; content = { - type = "filesystem"; - format = "ext4"; - mountpoint = "/home"; - extraArgs = [ - "-L" - "HOME" - ]; + type = "lvm_pv"; + vg = "pool"; }; }; }; }; }; }; + mdadm = { + boot = { + type = "mdadm"; + level = 1; + metadata = "1.0"; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot"; + mountOptions = [ "umask=0077" ]; + }; + }; + }; + lvm_vg = { + pool = { + type = "lvm_vg"; + lvs = { + root = { + size = "400G"; + lvm_type = "mirror"; + content = { + type = "filesystem"; + format = "ext4"; + mountpoint = "/"; + mountOptions = [ + "defaults" + ]; + }; + }; + home = { + size = "500G"; + lvm_type = "raid0"; + content = { + type = "filesystem"; + format = "ext4"; + mountpoint = "/home"; + }; + }; + data = { + size = "100%FREE"; + lvm_type = "raid0"; + content = { + type = "filesystem"; + format = "ext4"; + mountpoint = "/data"; + }; + } + }; + }; + }; }; }