From ba7580c2a283f2ddcafc173abc607970ac20503b Mon Sep 17 00:00:00 2001 From: Infinidoge Date: Sat, 3 Feb 2024 01:43:16 -0500 Subject: [PATCH] Infini-OPTIPLEX: refactor filesystems --- hosts/Infini-OPTIPLEX/filesystems.nix | 46 ++++++++------------------- 1 file changed, 13 insertions(+), 33 deletions(-) diff --git a/hosts/Infini-OPTIPLEX/filesystems.nix b/hosts/Infini-OPTIPLEX/filesystems.nix index 01e389f..0bc7652 100644 --- a/hosts/Infini-OPTIPLEX/filesystems.nix +++ b/hosts/Infini-OPTIPLEX/filesystems.nix @@ -3,6 +3,14 @@ let uuid = uuid: "/dev/disk/by-uuid/${uuid}"; main = uuid "9d4bf2d8-f139-42e7-937a-541a7870d806"; commonOptions = [ "autodefrag" "noatime" "ssd" "compress=zstd:1" ]; + + mkMain' = options: { + device = main; + fsType = "btrfs"; + options = commonOptions ++ options; + }; + mkMainOpt = options: (mkMain' options) // { neededForBoot = true; }; + mkMain = subvol: mkMainOpt [ "subvol=${subvol}" ]; in { fileSystems = { @@ -12,39 +20,11 @@ in options = [ "defaults" "size=16G" "mode=755" ]; }; - "/media/main" = { - device = main; - fsType = "btrfs"; - options = commonOptions; - }; - - "/persist" = { - device = main; - fsType = "btrfs"; - options = [ "subvol=root" ] ++ commonOptions; - neededForBoot = true; - }; - - "/etc/ssh" = { - device = main; - fsType = "btrfs"; - options = [ "subvol=root/etc/ssh" ] ++ commonOptions; - neededForBoot = true; - }; - - "/nix" = { - device = main; - fsType = "btrfs"; - options = [ "subvol=nix" ] ++ commonOptions; - neededForBoot = true; - }; - - "/boot" = { - device = main; - fsType = "btrfs"; - options = [ "subvol=boot" ] ++ commonOptions; - neededForBoot = true; - }; + "/media/main" = mkMain' [ ]; + "/persist" = mkMain "root"; + "/etc/ssh" = mkMain "root/etc/ssh"; + "/nix" = mkMain "nix"; + "/boot" = mkMain "boot"; "/boot/efi" = { device = uuid "23B2-DCD2";