Restructure build outputs into iso/lxc/pxe/all, fix broken LXC tarball

proxmox-lxc.nix was missing nixpkgs's own
nixos/modules/virtualisation/proxmox-lxc.nix — the module that actually
provides system.build.tarball — so nix build .#images (the old
combined target) failed with "attribute 'tarball' missing" for the LXC
half. Importing it (enabled by default) fixes this with no other
config needed.

flake.nix packages now expose exactly four targets instead of the
previous ad-hoc netboot-ipxe/netboot-initrd/netboot-kernel/images:
  - iso  — installer ISO/netboot image
  - lxc  — Proxmox LXC installer tarball
  - pxe  — the three netboot components, bundled
  - all  — iso + lxc + pxe, bundled

README updated to match (Build Targets section replaces the stale
nixos-generators-based instructions).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-19 14:12:38 +10:00
co-authored by Claude Sonnet 5
parent 5a7bdea454
commit 0c70c63371
3 changed files with 28 additions and 45 deletions
+16 -18
View File
@@ -84,28 +84,26 @@
# nix build .#name
#
packages.${system} = {
packages.${system} = rec {
netboot-ipxe =
netbootSystem.config.system.build.netbootIpxeScript;
iso =
self.nixosConfigurations.installer.config.system.build.isoImage;
lxc =
self.nixosConfigurations.proxmox-lxc.config.system.build.tarball;
netboot-initrd =
netbootSystem.config.system.build.netbootRamdisk;
pxe =
pkgs.linkFarm "pxe" [
{ name = "netboot.ipxe"; path = netbootSystem.config.system.build.netbootIpxeScript; }
{ name = "initrd"; path = netbootSystem.config.system.build.netbootRamdisk; }
{ name = "kernel"; path = netbootSystem.config.system.build.kernel; }
];
netboot-kernel =
netbootSystem.config.system.build.kernel;
images =
pkgs.linkFarm "images" [
{
name = "installer-iso";
path = self.nixosConfigurations.installer.config.system.build.isoImage;
}
{
name = "proxmox-lxc";
path = self.nixosConfigurations.proxmox-lxc.config.system.build.tarball;
}
all =
pkgs.linkFarm "all" [
{ name = "iso"; path = iso; }
{ name = "lxc"; path = lxc; }
{ name = "pxe"; path = pxe; }
];
};