From 18f728a42ed0c49a3f389f661f1b919597d172af Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Sat, 18 Oct 2025 14:28:50 -0400 Subject: [PATCH] Add node package to install by default --- builder/build-iso.sh | 21 +++++++++++++++++++++ configs/airootfs/root/.automated_script.sh | 4 ++++ 2 files changed, 25 insertions(+) diff --git a/builder/build-iso.sh b/builder/build-iso.sh index 6306812..916eb14 100755 --- a/builder/build-iso.sh +++ b/builder/build-iso.sh @@ -36,6 +36,27 @@ cp "$build_cache_dir/airootfs/root/omarchy/bin/omarchy-upload-log" "$build_cache mkdir -p "$build_cache_dir/airootfs/usr/share/plymouth/themes/omarchy" cp -r "$build_cache_dir/airootfs/root/omarchy/default/plymouth/"* "$build_cache_dir/airootfs/usr/share/plymouth/themes/omarchy/" +# Download and verify Node.js binary for offline installation +NODE_DIST_URL="https://nodejs.org/dist/latest" + +# Get checksums and parse filename and SHA +NODE_SHASUMS=$(curl -fsSL "$NODE_DIST_URL/SHASUMS256.txt") +NODE_FILENAME=$(echo "$NODE_SHASUMS" | grep "linux-x64.tar.gz" | awk '{print $2}') +NODE_SHA=$(echo "$NODE_SHASUMS" | grep "linux-x64.tar.gz" | awk '{print $1}') + +# Download the tarball +curl -fsSL "$NODE_DIST_URL/$NODE_FILENAME" -o "/tmp/$NODE_FILENAME" + +# Verify SHA256 checksum +echo "$NODE_SHA /tmp/$NODE_FILENAME" | sha256sum -c - || { + echo "ERROR: Node.js checksum verification failed!" + exit 1 +} + +# Copy to ISO +mkdir -p "$build_cache_dir/airootfs/opt/packages/" +cp "/tmp/$NODE_FILENAME" "$build_cache_dir/airootfs/opt/packages/" + # Add our additional packages to packages.x86_64 arch_packages=(linux-t2 git gum jq openssl plymouth tzupdate) printf '%s\n' "${arch_packages[@]}" >>"$build_cache_dir/packages.x86_64" diff --git a/configs/airootfs/root/.automated_script.sh b/configs/airootfs/root/.automated_script.sh index fa21979..7238fd6 100644 --- a/configs/airootfs/root/.automated_script.sh +++ b/configs/airootfs/root/.automated_script.sh @@ -91,6 +91,10 @@ install_base_system() { mkdir -p /mnt/var/cache/omarchy/mirror/offline mount --bind /var/cache/omarchy/mirror/offline /mnt/var/cache/omarchy/mirror/offline + # Mount the packages dir so it's accessible in the chroot + mkdir -p /mnt/opt/packages + mount --bind /opt/packages /mnt/opt/packages + # No need to ask for sudo during the installation (omarchy itself responsible for removing after install) mkdir -p /mnt/etc/sudoers.d cat >/mnt/etc/sudoers.d/99-omarchy-installer <