Skip to content

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.

hosts/vault.kdl
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/hosts/vault.nix
# 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";
};
}