{ 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"; }; }; }; }; }; }; }