-
Notifications
You must be signed in to change notification settings - Fork 0
/
disko-config.nix
79 lines (78 loc) · 2.01 KB
/
disko-config.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
# do an `lsblk` and note the name of the device you want to install this on, for example `/dev/nvme0n1`, or `/dev/sda`.
# the name of this one will be the part after `/dev/`, so in the first case name of it would be `nvme0n1`.
# create a file in the directory where this file is, and create an attribute list with that name under the `main` attribute.
# so in the first case, put `{ main = "nvme0n1" }` in it.
let
data = import ./data.nix;
in
{
disko.devices = {
disk = {
"${data.installation-device}" = {
type = "disk";
device = "/dev/${data.installation-device}";
content = {
type = "gpt";
partitions = {
ESP = {
size = "500M";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
mountOptions = [
"defaults"
];
};
};
primary = {
size = "100%";
content = {
type = "lvm_pv";
vg = "pool";
};
};
};
};
};
};
lvm_vg = {
pool = {
type = "lvm_vg";
lvs = {
swap = {
size = data.ram;
content = {
type = "swap";
randomEncryption = true;
resumeDevice = true;
};
};
root = {
size = "200G";
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/";
mountOptions = [
"defaults"
];
};
};
home = {
size = "200G";
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/home";
mountOptions = [
"defaults"
];
};
};
};
};
};
};
}