Repository navigation
Stop bundling a Node tarball now that Omarchy installs Node lazily - #290
Merged
Merged
Conversation
Install test passed
Boots are loader, kernel and userspace, without the VM's firmware. Install phases, x86_64
Install phases, aarch64
|
ryanrhughes
force-pushed
the
lazy-node
branch
from
October 20, 2026 03:42
c427af8 to
380a611
Compare
ryanrhughes
marked this pull request as ready for review
October 20, 2026 03:56
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
omacom/omarchy#15876 made Node a lazy mise tool, so an Omarchy runtime from it on never reads the Node tarball the ISO bundles. The build now bundles Node only for a runtime that still needs it, and the installer no longer requires it:
build-iso.shreads the bundled runtime'sinstall/user/mise-work.sh, the same way it readssetup-form.sh, and downloads Node into/opt/packagesonly when that script still unpacks the tarball. Stable 4.0.6 does, and its setup stops the install without one ("bundled Node.js tarball missing").quattrofrom #15876 on doesn't, so edge and--local-sourcebuilds carry no Node. Once stable has #15876 this never runs, and the block andnode-release.shcan go./opt/packagesonly when the ISO has it.stage_provisioning_statestops copying the tarball into/var/lib/omarchy/provisioning/packages, which raised on any install without one, and_validate_provisioning_statestops refusing a deferred-provisioning install with no tarball staged. An older runtime's first-boot setup and factory reset fall back to the network for Node without failing.test/arm64-installaccepts either: Node waiting for its first use, or the ISO's Node for aarch64.Tests: an ISO built from this branch's first commit with
--local-sourceon #15876, run in a VM and compared with an ISO built without either change.--provisionfirst boottest/integration factory-resetThat ISO had no
/opt, and installs left/var/lib/omarchy/provisioningempty. The install test here covers the other path: x86_64 builds from stable, whose runtime still needs the tarball. The unit tests pass;nightly-test.shfails only under anen_USlocale, as it does without this change.The factory-reset scenario fails on
quattrofor two unrelated reasons: under sudo the reset prompt is blank, becauseOMARCHY_PATHisn't exported andomarchy-i18naborts, and staging drops the fixture's Windows and foreign Linux entries. For the run above, the scenario passedOMARCHY_PATHthrough sudo and went on past the dual-boot checks.