Repository navigation
Conversation
…c packages The migration engine leaves omarchy-mac-boot (omacom/omarchy-mac-pkgs drops it): one self-contained script built from migrate/src, journaled and resumable, that moves a quattro, mx-mac or test-image Mac onto its channel's official packages (the omarchy-dev pair on edge) and the core Apple Silicon pacman configuration, and defers while that channel has no Mac release.
A migration marks the Mac; the next omarchy update runs omarchy-mac-migrate before any fork step and stops there for the reboot, or updates the Mac as before while its channel has no Mac release. The README gives testers the one-line command.
The boundary is recorded right before the switch's first write, so a reset or a refusal before it still defers. A second run never touches the state of the run holding the lock. Preflight trusts no retired key, refuses NoExtract or NoUpgrade patterns and IgnorePkg globs that hold back what the move installs, and checks a busybox-encrypted Mac keeps its unlock under the new drop-ins. Fork leftovers the Mac packages no longer retire are retired here. The update hook stops the fork update only after a move.
…tion Preflight runs only regular files from the verified omarchy-mac-boot, never a link, and refuses a boot package without them. Its HOOKS preview drops the drop-ins of the packages the transaction replaces. A user setup that succeeds on a retry no longer releases the unit while the migration is still under way, and a migration past its switch resumes whatever a detector says.
pacman -Qlq of a package that is not installed fails, which under pipefail made the preview fail and an encrypted legacy Mac defer for good. The fixture pacman now fails the same way. The boot unit also resumes a migration past its switch whatever a detector says.
It runs as root in an empty environment and across the move to another runtime, so it cannot depend on the runtime's helpers.
This branch has not been deployed
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.
Moving existing Macs onto Omarchy's official packages is now a standalone script, not part of any package (agreed with Ryan on 2026-10-04: the Mac packages move to omacom/omarchy-mac-pkgs without the migration engine; omacom#13362 uses them).
What it adds
omarchy-mac-migrate: a single self-contained script built frommigrate/srcbymigrate/buildand committed asbin/omarchy-mac-migrate. It is the quattro-upstream engine (Migration engine with the quattro-upstream tester transition #559, Convert legacy omarchy-mac installs to official packages and trust #564, Migrate mx-mac Macs in place (ticket 43) #571, Switch legacy Macs' boot chain to Limine, keeping their encryption #582, Migrate Macs from a verified download of omarchy-mac-boot, handing files over inside the transaction #602, Keep an administrator's migration target as it is in the Mac bootstrap #607) taken out ofomarchy-mac-bootand reworked:omarchy-devpair,omarchy-macandomarchy-mac-boot(from omarchy-mac-pkgs), the Aurora chain, and Converge omarchy-mac and omarchy-mx-mac into upstream Omarchy omarchy#13362's Apple Siliconpacman.conf. No fork package, repository, key or pin is left.IgnorePkgguard from the switch until the setup is verified;omarchy-lifecycle-dispatch(setup-boot,setup-system,setup-user,update-verify);migrations/1791080196.shmarks the Mac. The nextomarchy updateruns the tool before any fork step and stops for the reboot, or updates as before while the move defers.migrate/build --checkkeeps it current).Supersedes #603. The code of #601, #602 and #607 is the tool's source.
Tests
mac-migrate-test.sh(tester cohort, engine),mac-migrate-legacy-test.sh,mac-migrate-mx-test.shandmac-move-migration-test.sh: 104 checks. They cover kill -9 after, during and in the middle of every step, deferral before the switch and failure after it, the guard, channel detection and qualification, and leftovers.apple-test-f22c43fb7903). The target was a test-lane-signed set: the Converge omarchy-mac and omarchy-mx-mac into upstream Omarchy omarchy#13362 (69d80cc) dev pair, plusomarchy-macandomarchy-mac-bootfrom proposal/main without the engine. Everything else came from the real edge.omarchy-dev 4.0.4.r7099bundle. The rc lane deferred unchanged. On the edge lane, the fork's pair went down to the official build in one transaction, with kills during prefetch and the boot-chain rebuild resumed.encryptfromcryptdevice=, ESP at/boot,[omarchy-aarch64]lane). The ESP moved to/boot/efi, the unlock to sd-encrypt and the loader to Limine.pacman.confwas the core configuration and the migrated disk unlocked with the same password through its own boot files and reached a login. The boot unit's verification correctly refused the guest's generic kernel; completion needs a Mac.Release (owner): merge, publish
bin/omarchy-mac-migrateas releasemac-migrate-v1, and publish a quattroomarchybuild to the[omarchy-aarch64]lanes so packaged quattro installs get it (checkout installs get it fromgit pull). Nothing moves until omarchy-mac-pkgs' packages and a dev pair with omacom#13362 are on edge.