{
  lib,
  system,
  ...
}:
let
  isArm = builtins.match "aarch64*" system != null;
  rootDisk = "/dev/nvme0n1";
in
{
  imports = [ ../options.nix ];
  config = lib.mkIf (!isArm) {
    disko.devices = {
      nodev."/" = {
        fsType = "tmpfs";
        mountOptions = [
          "mode=755"
          "defaults"
          "size=2G"
        ];
      };
      disk = {
        main = {
          device = rootDisk;
          type = "disk";
          imageSize = "15G";
          content = {
            type = "gpt";
            partitions = {
              ESP = {
                type = "EF00";
                size = "100M";
                content = {
                  type = "filesystem";
                  format = "vfat";
                  mountpoint = "/boot";
                  mountOptions = [ "umask=0077" ];
                };
              };

              root = {
                size = "100%";
                content = {
                  type = "bcachefs";
                  # This refers to a filesystem in the `bcachefs_filesystems` attrset below.
                  filesystem = "mounted_subvolumes_in_multi";
                  label = "ssd.ssd1";
                  extraFormatArgs = [
                    "--discard"
                  ];
                };
              };
            };
          };
        };
      };

      bcachefs_filesystems = {
        mounted_subvolumes_in_multi = {
          type = "bcachefs_filesystem";
          # passwordFile = "/etc/nixos/pool.jwe";
          extraFormatArgs = [
            "--compression=zstd"
          ];
          subvolumes = {
            "subvolumes/root" = {
              mountpoint = "/root";
            };
            "subvolumes/home" = {
              mountpoint = "/home";
            };
            "subvolumes/nix" = {
              mountpoint = "/nix";
            };
            "subvolumes/etc" = {
              mountpoint = "/etc";
            };
            "subvolumes/log" = {
              mountpoint = "/var/log";
            };
          };
        };
      };
    };
  };
}
