Skip to content

Test the settings packages' etc-overrides on both platforms - #1927

Merged
ryanrhughes merged 1 commit into
masterfrom
settings-etc-overrides-test
Oct 31, 2026
Merged

ryanrhughes merged 1 commit into
masterfrom
settings-etc-overrides-test

Conversation

@dhh

@dhh dhh commented Oct 31, 2026

Copy link
Copy Markdown
Contributor

Follow-up to #1857, adding the regression coverage Greptile asked for there (#1857 (comment)). tests/passwordless-package-lifecycle.py replaces _etc_overrides_apply with a no-op, so nothing caught the Apple Silicon early return, or would catch it coming back.

tests/settings-etc-overrides.sh runs each settings package's real _etc_overrides_apply against a scratch root. It rewrites every absolute path into that root and refuses to run if any still points at the real system. It covers 8 cases: omarchy-settings and omarchy-settings-dev, on Apple Silicon and elsewhere, with cups-browsed.conf present and absent. It checks that:

  • faillock.conf, nsswitch.conf, plymouthd.conf and /etc/skel/.bashrc are Omarchy's, mode 644, on both platforms;
  • /etc/os-release is the ../usr/lib/os-release symlink on Apple Silicon, and Omarchy's file, mode 644, elsewhere;
  • cups-browsed.conf gets Omarchy's version, mode 644, when present, and is never created when absent.

The cups-files.conf branch is left out: it needs root to chown to the cups group, and the platform change didn't touch it.

It runs in the self-tests job next to settings-boot-config.sh.

Testing

🤖 Generated with Claude Code

The lifecycle test replaces _etc_overrides_apply with a no-op, so
nothing caught the Apple Silicon early return that skipped every
override but os-release, and nothing would catch it coming back.

Run each settings package's real function against a scratch root, its
paths rewritten and refused if any still reaches the system, on Apple
Silicon and elsewhere, with cups-browsed installed and not. Every
override lands with mode 644 on both platforms; os-release stays Arch
Linux ARM's symlink on Apple Silicon; cups-browsed.conf is never
created before its package.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ryanrhughes
ryanrhughes enabled auto-merge (squash) October 31, 2026 14:57
@ryanrhughes
ryanrhughes merged commit c2cbf44 into master Oct 31, 2026
7 checks passed
stevederico pushed a commit to stevederico/omarchy-pkgs that referenced this pull request Oct 31, 2026
)

The lifecycle test replaces _etc_overrides_apply with a no-op, so
nothing caught the Apple Silicon early return that skipped every
override but os-release, and nothing would catch it coming back.

Run each settings package's real function against a scratch root, its
paths rewritten and refused if any still reaches the system, on Apple
Silicon and elsewhere, with cups-browsed installed and not. Every
override lands with mode 644 on both platforms; os-release stays Arch
Linux ARM's symlink on Apple Silicon; cups-browsed.conf is never
created before its package.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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.

2 participants