This repository has been archived by the owner on Mar 17, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
disk-layout.nix
70 lines (69 loc) · 1.51 KB
/
disk-layout.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
{ device ? "/dev/null" }:
{
disk.${device} = {
inherit device;
type = "disk";
content = {
type = "table";
format = "gpt";
partitions = [
{
type = "partition";
name = "ESP";
start = "1MiB";
end = "1GiB";
fs-type = "fat32";
bootable = true;
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
};
}
{
type = "partition";
name = "luks";
start = "1GiB";
end = "100%";
content = {
type = "luks";
name = "decrypted";
content = {
type = "lvm_pv";
vg = "volgroup";
};
};
}
];
};
};
lvm_vg.pool = {
type = "lvm_vg";
lvs = {
swap = {
type = "lvm_lv";
size = "10GiB";
content = {
type = "swap";
};
};
nixos = {
type = "lvm_lv";
size = "100%FREE"; # TODO: does not work yet in disko?
content = {
type = "btrfs";
subvolumes =
let
mountOptions = [ "defaults" "compress=zstd" "autodefrag" ];
in
{
"/" = { inherit mountOptions; };
"/home" = { inherit mountOptions; };
"/nix" = { inherit mountOptions; };
"/snapshots" = { inherit mountOptions; };
};
};
};
};
};
}