{ config, lib, system, ... }: let isArm = builtins.match "aarch64*" system != null; rootDisk = "/dev/nvme0n1"; in { config = lib.mkIf isArm { disko.devices = { nodev."/" = { fsType = "tmpfs"; mountOptions = [ "mode=755" "defaults" "size=2G" ]; }; # root disk setup disk.main = { type = "disk"; device = rootDisk; imageSize = "15G"; content = { type = "gpt"; # specify partitions partitions = { # /boot/firmware FIRMWARE = { priority = 1; name = "FIRMWARE"; start = "1M"; end = "1G"; type = "0700"; content = { type = "filesystem"; format = "vfat"; mountpoint = "/boot/firmware"; mountOptions = [ "umask=0077" ]; }; }; # /boot ESP = { priority = 2; name = "ESP"; # start = "1G"; # end = "2G"; size = "1G"; type = "EF00"; 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 = { "/root" = { mountpoint = "/"; }; "/persistent" = { mountpoint = "/persistent"; }; "/nix" = { mountOptions = [ "noatime" ]; mountpoint = "/nix"; }; }; mountpoint = "/partition-root"; }; }; }; }; }