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