Skip to content

Package Omarchy static system state - #239

Open
ryanrhughes wants to merge 1 commit into
masterfrom
fix/package-owned-system-hooks
Open

Package Omarchy static system state#239
ryanrhughes wants to merge 1 commit into
masterfrom
fix/package-owned-system-hooks

Conversation

@ryanrhughes

@ryanrhughes ryanrhughes commented Aug 30, 2026

Copy link
Copy Markdown
Collaborator

Depends on

What changed

  • Both stable and development omarchy-settings packages now own the static keyboard-backlight and guarded force-iGPU system-sleep hooks.
  • The force-iGPU hook is inert unless /etc/omarchy/force-igpu exists and supergfxctl is installed, so packaging the hook does not enable the feature.
  • /etc/os-release is installed as the relative selector ../usr/share/omarchy/etc-overrides/os-release; removal restores only that exact selector to Arch's ../usr/lib/os-release and preserves custom state.
  • Stale backup=() entries for files no longer present in the package are removed.
  • The zram optional dependency wording now describes the setting it actually supports.

Together with omacom/omarchy#9070, this makes static system state package-backed after the one-time Quattro ownership adoption. Ordinary updates no longer need --overwrite or a root-path recovery mechanism.

Proof

for package in omarchy-settings omarchy-settings-dev; do
  (cd "pkgbuilds/$package" && makepkg --printsrcinfo >/dev/null)
done

./bin/omarchy-pkgs self-test
./bin/omarchy-release self-test

To materialize both development packages against the linked Omarchy checkout:

export OMARCHY_SRC=/path/to/omarchy
artifact_dir=$(mktemp -d)

for package in omarchy-dev omarchy-settings-dev; do
  (
    cd "pkgbuilds/$package"
    env OMARCHY_SRC="$OMARCHY_SRC" PKGDEST="$artifact_dir" makepkg --nodeps --force --cleanbuild --clean
  )
done

The install-script lifecycle was also exercised in an isolated mount namespace, including install, upgrade, exact-selector removal, dangling-selector recovery, and preservation of custom /etc/os-release state.

Release gate

  1. Merge Make package ownership the Quattro update boundary omarchy#9070.
  2. Merge this PR.
  3. Pick Make package ownership the Quattro update boundary omarchy#9070 into the v4.0.2 patch train and stage these package changes with it.
  4. Test the release candidate, then ship v4.0.2 so omarchy and omarchy-settings are pinned together.
  5. Only after v4.0.2 is published, merge the 3.x bootstrap PRs.
bin/omarchy-release pick 9070
bin/omarchy-release rc
# After validating the release candidate:
bin/omarchy-release ship

The gated legacy launchers are omacom/omarchy#9072 for master, omacom/omarchy#9073 for rc, and omacom/omarchy#9071 for dev.

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