This repository has no description
2.7 kB
128 lines
1{ lib, ... }:
2{
3 disk = (lib.genAttrs [ "/dev/nvme0n1" "/dev/nvme1n1" ] (disk: {
4 type = "disk";
5 device = disk;
6 content = {
7 type = "gpt";
8 partitions = {
9 boot = {
10 size = "1M";
11 type = "EF02";
12 };
13 ESP = {
14 size = "1G";
15 content = {
16 type = "mdraid";
17 name = "boot";
18 };
19 };
20 zfs = {
21 size = "100%";
22 content = {
23 type = "zfs";
24 pool = "zroot";
25 };
26 };
27 };
28 };
29 })) // {
30 hdd1 = {
31 type = "disk";
32 device = "/dev/sda";
33 content = {
34 type = "zfs";
35 pool = "tank";
36 };
37 };
38 };
39 mdadm = {
40 boot = {
41 type = "mdadm";
42 level = 1;
43 metadata = "1.0";
44 content = {
45 type = "filesystem";
46 format = "vfat";
47 mountpoint = "/boot";
48 };
49 };
50 };
51 zpool = {
52 zroot = {
53 type = "zpool";
54 mode = "mirror";
55 mountpoint = "/";
56 rootFsOptions = {
57 };
58 datasets = {
59 reserved = {
60 type = "zfs_fs";
61 options.refreservation = "1G";
62 };
63 pairprogramming = {
64 type = "zfs_fs";
65 mountpoint = "/home/pairprogramming";
66 options = {
67 canmount = "noauto";
68 };
69
70 };
71 };
72 };
73 tank = {
74 type = "zpool";
75 datasets = {
76 reserved = {
77 type = "zfs_fs";
78 options.refreservation = "1G";
79 };
80 containers = {
81 type = "zfs_fs";
82 mountpoint = "/var/lib/containers";
83 options = {
84 canmount = "noauto";
85 };
86 };
87 home = {
88 type = "zfs_fs";
89 mountpoint = "/home";
90 options = {
91 canmount = "noauto";
92 };
93 };
94 srv = {
95 type = "zfs_fs";
96 mountpoint = "/srv";
97 options = {
98 canmount = "noauto";
99 };
100 };
101 libvirt = {
102 type = "zfs_fs";
103 mountpoint = "/var/lib/libvirt";
104 options = {
105 canmount = "noauto";
106 };
107 };
108 # encrypted = {
109 # type = "zfs_fs";
110 # options = {
111 # canmount = "noauto";
112 # mountpoint = "none";
113 # encryption = "aes-256-gcm";
114 # keyformat = "passphrase";
115 # keylocation = "prompt";
116 # };
117 # };
118 # "encrypted/download" = {
119 # type = "zfs_fs";
120 # mountpoint = "/var/download";
121 # options = {
122 # canmount = "noauto";
123 # };
124 # };
125 };
126 };
127 };
128}