Skip to content

fix: support Omarchy installation and resolve validation failures - #107

Merged
adi0x90 merged 6 commits into
masterfrom
fix/106-omarchy-installer
Sep 25, 2026
Merged

adi0x90 merged 6 commits into
masterfrom
fix/106-omarchy-installer

Conversation

@adi0x90

@adi0x90 adi0x90 commented Sep 25, 2026 •

Copy link
Copy Markdown
Member

Summary

Closes #106. Omarchy (ID=omarchy, ID_LIKE=arch) now uses the Arch dependency recipe, with a complete Arch/Omarchy installation guide. Follow-up validation also exposed a Binwalk startup race and a tmux 3.7c compatibility bug; both are handled without weakening the extraction or session-reuse assertions.

Changes

  • Resolve unknown Linux IDs through an exact arch token in ID_LIKE, retaining explicitly supported distro recipes.
  • Document prerequisites, optional tools, synthetic extraction verification, native unblob limitations, and SSH environment setup. Preserve the release-download and migration instructions from master.
  • Retry Binwalk's explicit exit-zero/no-files-scanned result at most twice under the original deadline. Preserve incomplete attempts outside the extraction output, keep a fresh working directory, and fail the extractor if all three attempts scan zero files. Terminal errors retain the specific failure reason and recommend installing tools only when an attempted tool is absent. Completed scans without signatures and ordinary command failures are not retried.
  • Use a printable separator for tmux pane state: tmux 3.7c sanitizes the former tab delimiter, incorrectly causing healthy sessions to restart.
  • Make the native Docker architecture fixture host-aware, isolate executable-copy tests from concurrent forks, and replace three source loops and two test-fixture loops with equivalent fixed-size chunk iteration for current Clippy.

Verification

Focused regressions passed after reproducing failures for Binwalk zero-scan recovery, retry exhaustion, shared deadlines, nested log placement, and tmux control-character sanitization. The real Binwalk 3.1.0 failure reproduced in 34/400 concurrent benign fixture scans on the Omarchy VM.

Final validation of commit 3ea9d21a69e5895f6b911111c3d8d6dcd5d22410:

  • Full locked workspace: 1,963 passed, 0 failed, 0 ignored on macOS/Rust 1.94 and independently on Omarchy/Rust 1.94, using normal parallel test execution.

  • Clean formatting and warnings-as-errors Clippy (--workspace --all-targets --all-features --locked -- -D warnings) on both hosts.

  • All 16 installer regressions, all four kernel-profile tests, and runtime-data bundle verification passed.

  • GitHub checks: all five native builds and five archive smoke jobs passed; Linux archives also passed Fedora checks. Publishing jobs were skipped.

  • Installation guide: 12 Bash blocks passed syntax checks; local installation-guide links resolved and GitHub-rendered tables/code blocks were checked.

  • Rust 1.98.1 analyzer Clippy also passed with all analyzer test targets and warnings treated as errors.

  • Both real --install-system-deps profiles (core and extraction) passed on Omarchy in separate prefixes, followed by data verification and strict doctor outside the checkout.

  • 40/40 synthetic extraction repetitions passed. An injected zero-scan result recovered through the real Binwalk on retry; the manifest recorded the retry and recovered marker contents matched.

  • The comprehensive live VM checks completed at 11:57:15 UTC on 25 September 2026 at f3ef42a. The final head changes only two test-fixture loops; its full workspace, formatting, and Clippy recheck passed on both hosts, finishing at 12:12:13 UTC on Omarchy. All 752 final source-file hashes matched the committed snapshot.

  • Final host audit: no kernel OOM events or remaining validation processes; the original baseline checkout and installed binary are unchanged, and the remote desktop service remains inactive.

The original soak and its failure evidence are retained. The tests use synthetic software fixtures; no real device firmware boot was tested. Native unblob still requires additional format-specific extractors as documented in the guide.

Resolve Linux dependency recipes through a shared os-release reader. Keep
explicitly supported distribution IDs authoritative, and use the Arch recipe
only when an otherwise unsupported host declares an exact arch token in
ID_LIKE. Clear inherited release fields so absent metadata remains unsupported.

Add hermetic regression coverage for both profiles, supported recipe
precedence, token matching, missing metadata, and dry-run preservation.
Document the tested Arch prerequisites, automatic Omarchy setup, older-checkout
workaround, and optional tool verification.

Refs #106
Retry explicit zero-scan Binwalk exits within one deadline while retaining failed attempts. Use a printable tmux state delimiter, make native-architecture fixtures portable, isolate executable-copy tests, and satisfy current Clippy chunk lints.
@adi0x90 adi0x90 changed the title Fix Omarchy dependency installation and document Arch setup fix: support Omarchy installation and resolve validation failures Sep 25, 2026
@adi0x90
adi0x90 marked this pull request as ready for review September 25, 2026 11:48
@adi0x90
adi0x90 merged commit f216d4a into master Sep 25, 2026
14 checks passed
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.

Installer rejects Omarchy despite ID_LIKE=arch

1 participant