From f4b6222c1cb8cd26c68297ddd0985650641ada08 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Sat, 30 Aug 2025 09:37:37 +0300 Subject: [PATCH] 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 --- bin/omarchy-iso-boot | 3 +-- bin/omarchy-iso-make | 34 +++++++++++++++++++++------------- 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/bin/omarchy-iso-boot b/bin/omarchy-iso-boot index 1a33634..2eb552e 100755 --- a/bin/omarchy-iso-boot +++ b/bin/omarchy-iso-boot @@ -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 \ diff --git a/bin/omarchy-iso-make b/bin/omarchy-iso-make index 404153f..56c65e1 100755 --- a/bin/omarchy-iso-make +++ b/bin/omarchy-iso-make @@ -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"