main
 1{den, ...}: {
 2  den.hosts.aarch64-linux.tribios = {
 3    settings.core.impermanence.btrfs.partId = "/dev/disk/by-uuid/9886235f-5a74-41e8-919b-9e4096a7cb9e";
 4  };
 5
 6  den.aspects.tribios = {
 7    # Manually manage file system.
 8    # Since tribios has edk2-rk3588 firmware in main storage.
 9    # Using disko will break this.
10    includes = [
11      # den.aspects.disk.btrfs-disko
12      den.aspects.disk.btrfs
13    ];
14
15    nixos = let
16      defaultBtrfsOpts = [
17        "defaults"
18        "compress=zstd:1"
19        "ssd"
20        "discard=async"
21      ];
22    in {
23      fileSystems = {
24        "/boot" = {
25          device = "/dev/disk/by-uuid/A0F7-6D8C";
26          fsType = "vfat";
27          options = ["fmask=0022" "dmask=0022"];
28        };
29        "/" = {
30          device = "/dev/disk/by-uuid/9886235f-5a74-41e8-919b-9e4096a7cb9e";
31          fsType = "btrfs";
32          options = ["subvol=/root"] ++ defaultBtrfsOpts;
33        };
34        "/nix" = {
35          device = "/dev/disk/by-uuid/9886235f-5a74-41e8-919b-9e4096a7cb9e";
36          fsType = "btrfs";
37          options = ["subvol=/nix" "noatime"] ++ defaultBtrfsOpts;
38          neededForBoot = true;
39        };
40        "/home" = {
41          device = "/dev/disk/by-uuid/9886235f-5a74-41e8-919b-9e4096a7cb9e";
42          fsType = "btrfs";
43          options = ["subvol=/home"] ++ defaultBtrfsOpts;
44          neededForBoot = true;
45        };
46        "/persist" = {
47          device = "/dev/disk/by-uuid/9886235f-5a74-41e8-919b-9e4096a7cb9e";
48          fsType = "btrfs";
49          options = ["subvol=/persist"] ++ defaultBtrfsOpts;
50          neededForBoot = true;
51        };
52        "/cache" = {
53          device = "/dev/disk/by-uuid/9886235f-5a74-41e8-919b-9e4096a7cb9e";
54          fsType = "btrfs";
55          options = ["subvol=/cache"] ++ defaultBtrfsOpts;
56          neededForBoot = true;
57        };
58      };
59    };
60  };
61}