summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMinijackson <minijackson@riseup.net>2021-05-28 19:05:58 +0200
committerMinijackson <minijackson@riseup.net>2021-05-28 19:05:58 +0200
commit90d02af7f72862b2656c035479a8a763e4702bfb (patch)
tree043e950b7201198993261a24dba4aaf9c769c5ac
parent573a084f3b34e8b6b29bbbed60710ea48cf95339 (diff)
downloadnixos-config-reborn-90d02af7f72862b2656c035479a8a763e4702bfb.tar.gz
nixos-config-reborn-90d02af7f72862b2656c035479a8a763e4702bfb.zip
zfs: init
-rw-r--r--flake.nix7
-rw-r--r--usecases/server/zfs.nix17
2 files changed, 24 insertions, 0 deletions
diff --git a/flake.nix b/flake.nix
index 1242f21..6abace9 100644
--- a/flake.nix
+++ b/flake.nix
@@ -74,6 +74,7 @@
74 fail2ban = (import ./usecases/server/fail2ban.nix inputs); 74 fail2ban = (import ./usecases/server/fail2ban.nix inputs);
75 monitoringTarget = (import ./usecases/server/monitoring-target.nix inputs); 75 monitoringTarget = (import ./usecases/server/monitoring-target.nix inputs);
76 smartd = (import ./usecases/server/smartd.nix inputs); 76 smartd = (import ./usecases/server/smartd.nix inputs);
77 zfs = (import ./usecases/server/zfs.nix inputs);
77 }; 78 };
78 79
79 profiles = { 80 profiles = {
@@ -162,6 +163,12 @@
162 imports = [ 163 imports = [
163 self.nixosModules.test 164 self.nixosModules.test
164 self.nixosModules.profiles.server 165 self.nixosModules.profiles.server
166 self.nixosModules.usecases.server.zfs
167
168 {
169 # Needed for ZFS
170 networking.hostId = "4e98920d";
171 }
165 ]; 172 ];
166 }; 173 };
167 testScript = '' 174 testScript = ''
diff --git a/usecases/server/zfs.nix b/usecases/server/zfs.nix
new file mode 100644
index 0000000..58f4df8
--- /dev/null
+++ b/usecases/server/zfs.nix
@@ -0,0 +1,17 @@
1inputs:
2
3{ ... }:
4
5{
6 boot.supportedFilesystems = [ "zfs" ];
7
8 services.zfs = {
9 autoScrub.enable = true;
10
11 # To be enabled on a dataset by dataset basis with:
12 #
13 # zfs set com.sun:auto-snapshot=true <pool>/<fs>
14 #
15 autoSnapshot.enable = true;
16 };
17}