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:
beatzaplentyandClaude Sonnet 5 committed 2026-07-19 14:12:38 +10:00
1 parent 5a7bdea454
commit 0c70c63371
3 files changed
+28 -45

No files matched your search

+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; }
];
};