Infini-OPTIPLEX: add data drive

This commit is contained in:
Infinidoge 2024-03-27 04:00:35 -04:00
parent ee01b64aa6
commit bdce955801
Signed by: Infinidoge
SSH key fingerprint: SHA256:VEv3zmkBzcYYle6/37h+BbOyNDbGy/o8SHh7fcs9RbQ

View file

@ -2,6 +2,7 @@
let let
uuid = uuid: "/dev/disk/by-uuid/${uuid}"; uuid = uuid: "/dev/disk/by-uuid/${uuid}";
main = uuid "9d4bf2d8-f139-42e7-937a-541a7870d806"; main = uuid "9d4bf2d8-f139-42e7-937a-541a7870d806";
data = uuid "456cebd3-f800-4733-a783-90ed7c8978f7";
commonOptions = [ "autodefrag" "noatime" "ssd" "compress=zstd:1" ]; commonOptions = [ "autodefrag" "noatime" "ssd" "compress=zstd:1" ];
mkMain' = options: { mkMain' = options: {
@ -11,6 +12,14 @@ let
}; };
mkMainOpt = options: (mkMain' options) // { neededForBoot = true; }; mkMainOpt = options: (mkMain' options) // { neededForBoot = true; };
mkMain = subvol: mkMainOpt [ "subvol=${subvol}" ]; mkMain = subvol: mkMainOpt [ "subvol=${subvol}" ];
mkData' = options: {
device = data;
fsType = "btrfs";
options = commonOptions ++ options;
};
mkDataOpt = options: (mkData' options) // { neededForBoot = true; };
mkData = subvol: mkDataOpt [ "subvol=${subvol}" ];
in in
{ {
fileSystems = { fileSystems = {
@ -21,7 +30,9 @@ in
}; };
"/media/main" = mkMain' [ ]; "/media/main" = mkMain' [ ];
"/media/data" = mkData' [ ];
"/persist" = mkMain "root"; "/persist" = mkMain "root";
"/persist/srv" = mkData "root/srv";
"/etc/ssh" = mkMain "root/etc/ssh"; "/etc/ssh" = mkMain "root/etc/ssh";
"/nix" = mkMain "nix"; "/nix" = mkMain "nix";
"/boot" = mkMain "boot"; "/boot" = mkMain "boot";