- Move bootstrap.sh to scripts/ and add as flake app - Move build-liveusb.sh to scripts/ and add as flake app - Update usage comments to show nix run commands - Improve build-liveusb.sh with better error handling (set -euo pipefail) - Remove emojis from output messages for cleaner log output Scripts can now be run consistently via: nix run .#bootstrap -- <hostname> nix run .#build-liveusb Implements bead: nixos-configs-bli
23 lines
714 B
Bash
23 lines
714 B
Bash
#!/usr/bin/env bash
|
|
# Build Live USB ISO from flake configuration
|
|
# Creates an uncompressed ISO suitable for Ventoy and other USB boot tools
|
|
# Usage: nix run .#build-liveusb
|
|
# Or: ./scripts/build-liveusb.sh
|
|
|
|
set -euo pipefail
|
|
|
|
REPO_ROOT="${REPO_ROOT:-$(git rev-parse --show-toplevel 2>/dev/null || pwd)}"
|
|
|
|
echo "Building Live USB ISO..."
|
|
nix build "${REPO_ROOT}#nixosConfigurations.live-usb.config.system.build.isoImage" --show-trace
|
|
|
|
if ls "${REPO_ROOT}/result/iso/"*.iso 1> /dev/null 2>&1; then
|
|
iso_file=$(ls "${REPO_ROOT}/result/iso/"*.iso)
|
|
echo "Build complete!"
|
|
echo "ISO location: $iso_file"
|
|
echo "Ready for Ventoy or dd to USB"
|
|
else
|
|
echo "Build failed - no ISO file found"
|
|
exit 1
|
|
fi
|