From 7e214bf9e1bb58b83317db95dfb70dbeac0a4e28 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Isma=C3=ABl=20Bouya?= Date: Thu, 27 Aug 2020 23:03:05 +0200 Subject: [PATCH] Migrate eldiron to zfs --- modules/private/system/eldiron.nix | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/modules/private/system/eldiron.nix b/modules/private/system/eldiron.nix index b2a728c..3fa78a4 100644 --- a/modules/private/system/eldiron.nix +++ b/modules/private/system/eldiron.nix @@ -1,10 +1,31 @@ { privateFiles }: -{ config, pkgs, ... }: +{ config, pkgs, lib, ... }: { boot.supportedFilesystems = [ "zfs" ]; + boot.kernelParams = ["zfs.zfs_arc_max=6442450944"]; boot.kernelPackages = pkgs.linuxPackages_latest; myEnv = import "${privateFiles}/environment.nix" // { inherit privateFiles; }; + fileSystems = { + "/" = lib.mkForce { fsType = "zfs"; device = "zpool/root"; }; + "/boot" = { fsType = "ext4"; device = "/dev/disk/by-uuid/e6bb18fb-ff56-4b5f-ae9f-e60d40dc0622"; }; + "/etc" = { fsType = "zfs"; device = "zpool/root/etc"; }; + "/nix" = { fsType = "zfs"; device = "zpool/root/nix"; }; + "/tmp" = { fsType = "zfs"; device = "zpool/root/tmp"; }; + "/var" = { fsType = "zfs"; device = "zpool/root/var"; }; + }; + boot.initrd.secrets = { + "/boot/pass.key" = "/boot/pass.key"; + }; + + services.zfs = { + autoSnapshot = { + enable = true; + }; + autoScrub = { + enable = true; + }; + }; networking = { hostId = "8262ca33"; # generated with head -c4 /dev/urandom | od -A none -t x4 firewall.enable = true; @@ -98,7 +119,7 @@ fsType = "fuse"; options = [ "force-user=pub" "create-for-user=wwwrun" "create-for-group=wwwrun" ]; }; - environment.systemPackages = [ pkgs.bindfs ]; + environment.systemPackages = [ pkgs.bindfs pkgs.pv pkgs.smartmontools ]; # This value determines the NixOS release with which your system is # to be compatible, in order to avoid breaking some software such as -- 2.41.0