vault
The vault host uses disko. knixl writes one file for it. The Nix below is the golden test output, so it is exactly what knixl emits.
host "vault" { system "x86_64-linux"
disko { disk "main" device="/dev/nvme0n1" { partition "ESP" size="512M" type="EF00" { filesystem format="vfat" mountpoint="/boot" { mount-option "umask=0077" } } partition "swap" size="8G" { swap } partition "crypt" size="100G" { luks name="cryptroot" { filesystem format="ext4" mountpoint="/" } } partition "data" size="100%" { zfs pool="tank" } } zpool "tank" { mountpoint "/tank" options ashift="12" root-fs-options compression="zstd" acltype="posixacl" xattr="sa" mountpoint="none" dataset "media" mountpoint="/tank/media" } }}Generated
Section titled “Generated”# Generated by knixl 1.5.2 from hosts/vault.kdl# Do NOT edit. Regenerate from the KDL source.# Overrides: add a sibling module and use lib.mkForce / lib.mkAfter.{ config, lib, pkgs, ...}:{ nixpkgs.hostPlatform = "x86_64-linux"; networking.hostName = "vault"; disko.devices.disk."main" = { content = { partitions = { "ESP" = { content = { format = "vfat"; mountOptions = [ "umask=0077" ]; mountpoint = "/boot"; type = "filesystem"; }; size = "512M"; type = "EF00"; }; "crypt" = { content = { content = { format = "ext4"; mountpoint = "/"; type = "filesystem"; }; name = "cryptroot"; type = "luks"; }; size = "100G"; }; "data" = { content = { pool = "tank"; type = "zfs"; }; size = "100%"; }; "swap" = { content = { type = "swap"; }; size = "8G"; }; }; type = "gpt"; }; device = "/dev/nvme0n1"; type = "disk"; }; disko.devices.zpool."tank" = { datasets = { "media" = { mountpoint = "/tank/media"; type = "zfs_fs"; }; }; mountpoint = "/tank"; options = { ashift = "12"; }; rootFsOptions = { acltype = "posixacl"; compression = "zstd"; mountpoint = "none"; xattr = "sa"; }; type = "zpool"; };}