{inputs, ...}:{imports = [inputs.disko.nixosModules.disko]; disko.devices = { disk = { main = { device = "/dev/nvme0n1"; type = "disk"; content = { type = "gpt"; partitions = { boot = { name = "boot"; size = "1M"; type = "EF02"; }; ESP = { name = "ESP"; priority = 1; size = "4G"; type = "EF00"; content = { type = "filesystem"; format = "vfat"; mountpoint = "/boot"; mountOptions = [ "umask=0077" ]; }; }; plainSwap = { size = "48G"; content = { type = "swap"; discardPolicy = "both"; # Both "once" and page discard policies resumeDevice = true; # Use for hibernation resume device }; }; root = { size = "100%"; content = { type = "btrfs"; extraArgs = [ "-f" ]; # Override existing partition # Subvolumes must set a mountpoint in order to be mounted, # unless their parent is mounted subvolumes = { # Subvolume name is different from mountpoint "@" = { mountpoint = "/"; }; # Subvolume name is the same as the mountpoint "@home" = { mountpoint = "/home"; }; # Parent is not mounted so the mountpoint must be set "@nix" = { mountpoint = "/nix"; }; }; }; }; }; }; }; }; }; }