{ system, installerName, config , runCommand, makeWrapper, pixiecore, writeShellApplication, coreutils, busybox, nftables, mkShell }: let pxeBuild = config.config.system.build; pixiecore-wrapped = runCommand "pixiecore-${system}-${installerName}" { nativeBuildInputs = [ makeWrapper ]; } '' mkdir -p $out/bin makeWrapper ${pixiecore}/bin/pixiecore $out/bin/pixiecore-${installerName} \ --add-flags boot \ --add-flags "${pxeBuild.kernel}/bzImage" --add-flags "${pxeBuild.netbootRamdisk}/initrd" \ --add-flags "--cmdline \"init=${pxeBuild.toplevel}/init loglevel=4\"" \ --add-flags "-dt" --add-flags "--status-port 64172" --add-flags "--port 64172" --add-flags "--dhcp-no-bind" ''; udhcpd = writeShellApplication { name = "udhcpd"; runtimeInputs = [ coreutils ]; text = '' [[ -n "''${INTERFACE-}" ]] || exit 2 _LEASES_FILE=$(mktemp --tmpdir udhcpd.XXXXXXXXXX.leases) exec ${busybox}/bin/udhcpd -f <(cat <