Skip to content

fix: seed a default whose wallpapers are actually installed - #3

Merged
phmatray merged 1 commit into
mainfrom
fix/seed-a-default-whose-wallpapers-ship
Sep 4, 2026
Merged

fix: seed a default whose wallpapers are actually installed#3
phmatray merged 1 commit into
mainfrom
fix/seed-a-default-whose-wallpapers-ship

Conversation

@phmatray

@phmatray phmatray commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

The bug

install.sh copies examples/dynamic-wallpaper.json in as the starter config, and it named the tahoe-beach set:

26-tahoe-beach-dawn.jpg   26-tahoe-beach-day.jpg
26-tahoe-beach-dusk.jpg   26-tahoe-beach-night.jpg

No repo in the suite ships those files. apple-glass/backgrounds/ holds exactly three:

1-sequoia-dusk.jpg   2-graphite.jpg   3-aurora.jpg

So a fresh install has always produced a macos-dynamic-wallpaper.service that fails on every tick:

macos-dynamic-wallpaper: wallpaper not found: ~/.config/omarchy/backgrounds/apple-glass/26-tahoe-beach-day.jpg
macos-dynamic-wallpaper.service: Main process exited, code=exited, status=1/FAILURE

It was invisible on the one machine that mattered because the files are sitting there — placed by hand on 30 Aug.

Provenance, since it decides the fix

  • git log --all -- 'backgrounds/*tahoe*' in apple-glassempty. It has never shipped one.
  • This repo versions zero images.
  • The laptop's copies have hardlinks only into ~/.cache/omarchy/background-transitions/ — Omarchy's own cache, not a repo.

They are Apple's macOS system wallpapers, so shipping them here was never an option regardless of repo size.

The fix

A new glass set built from the three backgrounds apple-glass does ship, ordered by measured luminance so the day reads in the right direction:

phase file luminance
dawn 1-sequoia-dusk.jpg 101
day 3-aurora.jpg 110
dusk 1-sequoia-dusk.jpg 101
night 2-graphite.jpg 75

The five existing sets stay as presets for anyone who supplies those images themselves — being present was never the bug, being the default was.

Test

Three cases in tests/test_dynamic_wallpaper.py:

  1. the active set may only name wallpapers apple-glass ships
  2. it must cover all four phases
  3. the presets must survive (de-defaulted, not deleted)

The first fails on the old config — checked by putting tahoe-beach back:

AssertionError: the seeded default set 'tahoe-beach' names ['26-tahoe-beach-dawn.jpg', …],
which apple-glass does not ship; a fresh install would fail on every tick

Suite: 31 passed.

Context

Fixes half of macarchy/macarchy-install#9 — the half that is a real defect on real machines, not a CI artifact. The other repo's PR is macarchy/macarchy-install#10; its clean machine check cannot go green until this lands, because that harness clones this repo from main.

🤖 Generated with Claude Code

https://claude.ai/code/session_01SYBhT1xfp3MQ1w3687F4Mp

install.sh copies examples/dynamic-wallpaper.json in as the starter config, and
it named the `tahoe-beach` set: 26-tahoe-beach-{dawn,day,dusk,night}.jpg. No repo
in the suite ships those files. `git log --all` in apple-glass has never carried a
tahoe wallpaper, this repo versions zero images, and the copies on the maintainer's
laptop are hand-placed (30 Aug) — their only other hardlinks are Omarchy's own
background-transition cache.

So every fresh install got a macos-dynamic-wallpaper.service that failed on every
tick with `wallpaper not found`, and it was invisible on the one machine that had
the files. macarchy-install#9 has the journal.

The default is now the `glass` set, built from the three backgrounds apple-glass
does ship and ordered by measured luminance so the day reads in the right
direction: 3-aurora (110/255) is day, 1-sequoia-dusk (101) sits either side of it,
2-graphite (75) is night. Apple's own wallpapers cannot be redistributed, so
shipping the tahoe set was never the alternative.

The five existing sets are kept as presets for a user who supplies those images
themselves — being present was never the bug, being the default was.

Three tests pin it: the active set may only name wallpapers apple-glass ships, it
must cover all four phases, and the presets must survive. The first one fails on
the old config, which is how it was checked.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SYBhT1xfp3MQ1w3687F4Mp
@phmatray
phmatray merged commit 106955c into main Sep 4, 2026
1 check passed
@phmatray
phmatray deleted the fix/seed-a-default-whose-wallpapers-ship branch September 4, 2026 22:31
@github-actions github-actions Bot mentioned this pull request Sep 4, 2026
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