-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtwo-raids-on-two-disks.nix
90 lines (90 loc) · 1.81 KB
/
two-raids-on-two-disks.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
{ lib, ... }:
{
disk = lib.genAttrs [ "/dev/nvme0n1" "/dev/nvme1n1" ]
(disk: {
type = "disk";
device = disk;
content = {
type = "table";
format = "gpt";
partitions = [
{
name = "boot";
start = "0";
end = "1M";
part-type = "primary";
flags = [ "bios_grub" ];
}
{
name = "ESP";
start = "1M";
end = "1GiB";
fs-type = "fat32";
bootable = true;
content = {
type = "mdraid";
name = "boot";
};
}
{
name = "nixos";
start = "1GiB";
end = "100%";
content = {
type = "mdraid";
name = "nixos";
};
}
];
};
}) // (lib.genAttrs [ "/dev/sda" "/dev/sdb" ] (disk: {
type = "disk";
device = disk;
content = {
type = "table";
format = "gpt";
partitions = [
{
name = "varlib";
start = "0";
end = "100%";
part-type = "primary";
content = {
type = "mdraid";
name = "varlib";
};
}
];
};
}));
mdadm = {
boot = {
type = "mdadm";
level = 1;
metadata = "1.0";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
};
};
nixos = {
type = "mdadm";
level = 1;
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/";
};
};
varlib = {
type = "mdadm";
level = 1;
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/var/lib";
};
};
};
}