Skip to content

Catch existing guests up with the image defaults at boot - #83

Merged
btsouth merged 1 commit into
masterfrom
catch-up
Sep 5, 2026
Merged

Catch existing guests up with the image defaults at boot#83
btsouth merged 1 commit into
masterfrom
catch-up

Conversation

@btsouth

@btsouth btsouth commented Sep 5, 2026

Copy link
Copy Markdown
Collaborator

Image updates carry the compat overlay onto existing disks but never touch home directories, so a guest created by an older release kept whatever its skeleton had: animations on for CPU rendering, the no-gaps toggle from #32, and a Suspend entry the VM cannot honour.

Guest patch 0044 adds try-omarchy-catch-up.service, a oneshot in the compat overlay that runs before the display manager once per integration revision. For each home directory it does only what is safe to do on the person's behalf:

  • ~/.config/hypr/monitors.lua is replaced with Omarchy's installed default plus the current QEMU profile block when the file is still the untouched skeleton, recognized as Omarchy's default plus any version of our block, so no hash list is needed. Any edit leaves it alone.
  • The window-no-gaps and single-window-aspect-ratio toggles are removed when they are byte-identical to the templates and carry the same mtime as the flags.lua placeholder, which only the old seeding produced. A toggle the person switched on later has a different mtime and stays.
  • Omarchy's suspend-off toggle is switched on.

The overlay carries the current profile fragment, and the contract test pins it to the build fragment. Two overlay tests cover the untouched and the edited cases. Integration revision and smoke test move to 12.

Verified on the VM's real existing disk: the profile was refreshed (animations went from true to false after reload, no config errors), the aspect-ratio toggle was removed, suspend-off appeared, and a second run at the same revision was a no-op. The no-gaps toggle on that disk was correctly kept, because I had toggled it by hand earlier today and its mtime no longer matched the placeholder.

Guest patch 0044 adds a boot service to the compat overlay that replaces an untouched skeleton monitors.lua with Omarchy's default plus the current QEMU profile, removes the seeded no-gaps and aspect-ratio toggles when they are still the seeded copies, and switches on suspend-off. It runs once per integration revision; revision and smoke test move to 12.
@btsouth
btsouth merged commit ea07a4e into master Sep 5, 2026
3 checks passed
@btsouth
btsouth deleted the catch-up branch September 5, 2026 22:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant