Preserve firmware with reuse + use local pacman cache if you have it (#28)

* Keep firmware vars too if we run as reuse

* Leverage local cache for faster builds if we have it

* Convenience

* Also set the URL

* Normally do want boot

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
This commit is contained in:
Ryan HughesandDavid Heinemeier Hansson authored and GitHub committed 2025-08-30 08:37:37 +02:00
1 parent d70b94ecd1
commit f4b6222c1c
2 files changed
+22 -15

No files matched your search

+1 -2
View File
@@ -14,10 +14,9 @@ fi
DISK="/tmp/omarchy-iso-boot.qcow2"
if [[ ! -f $DISK || $2 != "reuse" ]]; then
qemu-img create -f qcow2 "$DISK" 20G
cp /usr/share/edk2/x64/OVMF_VARS.4m.fd /tmp/OVMF_VARS.4m.fd
fi
cp /usr/share/edk2/x64/OVMF_VARS.4m.fd /tmp/OVMF_VARS.4m.fd
# Boot from ISO before we've installed, then boot from drive after
qemu-system-x86_64 \
-cpu host -enable-kvm -machine q35,accel=kvm \
+21 -13
View File
@@ -19,19 +19,27 @@ OMARCHY_INSTALLER_REPO="${OMARCHY_INSTALLER_REPO:-basecamp/omarchy}"
OMARCHY_INSTALLER_REF="${OMARCHY_INSTALLER_REF:-master}"
OMARCHY_INSTALLER_URL="${OMARCHY_INSTALLER_URL:-https://omarchy.org/install}"
# Run the builder
docker run --rm \
--privileged \
-e "OMARCHY_CONFIGURATOR_REPO=$OMARCHY_CONFIGURATOR_REPO" \
-e "OMARCHY_CONFIGURATOR_REF=$OMARCHY_CONFIGURATOR_REF" \
-e "OMARCHY_INSTALLER_REPO=$OMARCHY_INSTALLER_REPO" \
-e "OMARCHY_INSTALLER_REF=$OMARCHY_INSTALLER_REF" \
-e "OMARCHY_INSTALLER_URL=$OMARCHY_INSTALLER_URL" \
-v "$BUILD_RELEASE_PATH/:/out/" \
-v "$BUILD_ROOT/$BUILD_SCRIPT:/$BUILD_SCRIPT:ro" \
-v "$BUILD_ROOT/archiso:/archiso:ro" \
-v "$BUILD_ROOT/builder:/builder:ro" \
archlinux/archlinux:latest /$BUILD_SCRIPT
DOCKER_ARGS=(
--rm
--privileged
-e "OMARCHY_CONFIGURATOR_REPO=$OMARCHY_CONFIGURATOR_REPO"
-e "OMARCHY_CONFIGURATOR_REF=$OMARCHY_CONFIGURATOR_REF"
-e "OMARCHY_INSTALLER_REPO=$OMARCHY_INSTALLER_REPO"
-e "OMARCHY_INSTALLER_REF=$OMARCHY_INSTALLER_REF"
-e "OMARCHY_INSTALLER_URL=$OMARCHY_INSTALLER_URL"
-v "$BUILD_RELEASE_PATH/:/out/"
-v "$BUILD_ROOT/$BUILD_SCRIPT:/$BUILD_SCRIPT:ro"
-v "$BUILD_ROOT/archiso:/archiso:ro"
-v "$BUILD_ROOT/builder:/builder:ro"
)
# Use local pacman cache if you already have one on host to speed up repeat runs
if [ -d "/var/cache/pacman/pkg" ]; then
DOCKER_ARGS+=(-v "/var/cache/pacman/pkg:/var/cache/pacman/pkg")
fi
# Run the builder with assembled args
docker run "${DOCKER_ARGS[@]}" archlinux/archlinux:latest /$BUILD_SCRIPT
# Make iso accessible to all
sudo chmod 777 -R "$BUILD_RELEASE_PATH"