Files
Nomarchy/features/scripts/utils/nomarchy-test-live-iso
Bernardo Magri 6de8ecd093 feat(distro): rename ISO targets and fix UEFI boot in live test script
- Rename installerIso and installerIsoGraphical to nomarchy-installer and nomarchy-live.
- Update host configurations with proper Nomarchy branding and volume IDs.
- Fix nomarchy-test-live-iso QEMU launch by using -drive if=pflash for UEFI firmware.
- Add nomarchy-build-live-iso utility script.
- Scrub remaining Omarchy references in Plymouth, installer messages, and docs.
- Regenerate docs/SCRIPTS.md to reflect new and renamed utilities.
2026-04-26 15:29:04 +01:00

56 lines
1.7 KiB
Bash
Executable File

#!/usr/bin/env bash
# Build the Nomarchy graphical live ISO and boot it in QEMU for a
# try-before-install experience. The ISO is the `nomarchy-live`
# NixOS configuration - same Nomarchy system + Home Manager stack as
# `nomarchy-test-vm`, just wrapped in an installable live medium.
set -e
echo "Building Nomarchy Live ISO..."
nix build .#nixosConfigurations.nomarchy-live.config.system.build.isoImage
ISO=$(ls -1 result/iso/*.iso 2>/dev/null | head -n 1)
if [ -z "$ISO" ]; then
echo "Error: ISO build succeeded but no .iso file found in result/iso/"
exit 1
fi
# Prefer UEFI with OVMF so the ISO boots the same way a modern install does.
# Fall back to BIOS if OVMF isn't available on this host.
OVMF_CANDIDATES=(
"/run/current-system/sw/share/OVMF/OVMF_CODE.fd"
"/run/current-system/sw/share/qemu/edk2-x86_64-code.fd"
"/nix/var/nix/profiles/system/sw/share/OVMF/OVMF_CODE.fd"
"/usr/share/OVMF/OVMF_CODE.fd"
)
BIOS_ARG=()
for c in "${OVMF_CANDIDATES[@]}"; do
if [ -f "$c" ]; then
# Use pflash for UEFI firmware. -bios is for legacy BIOS.
BIOS_ARG=(-drive "if=pflash,format=raw,readonly=on,file=$c")
# Optional: Add matching VARS file if it exists.
VARS="${c%_CODE.fd}_VARS.fd"
if [ -f "$VARS" ]; then
BIOS_ARG+=(-drive "if=pflash,format=raw,readonly=on,file=$VARS")
fi
break
fi
done
# KVM if the host supports it; software emulation otherwise.
ACCEL_ARG=()
if [ -r /dev/kvm ]; then
ACCEL_ARG=(-enable-kvm -cpu host)
fi
echo "Launching ISO: $ISO"
exec qemu-system-x86_64 \
"${ACCEL_ARG[@]}" \
-m 4096 -smp 2 \
"${BIOS_ARG[@]}" \
-device virtio-vga-gl -display gtk,gl=on \
-device virtio-net-pci,netdev=n0 -netdev user,id=n0 \
-cdrom "$ISO" -boot d