Skip to content

Add omarchy-billboard-generator, the animated domain video maker - #398

Open
dhh wants to merge 3 commits into
masterfrom
add-omarchy-billboard-generator
Open

dhh wants to merge 3 commits into
masterfrom
add-omarchy-billboard-generator

Conversation

@dhh

@dhh dhh commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

Adds Omarchy Billboard Generator, a community desktop app and CLI that renders 15-second animated OMARCHY domain videos, as a source: local package in the fast ring with a 24-hour release-age gate. It follows the project's GitHub releases through the declarative feed: the release archive has a fixed name and a SHA256SUMS manifest, and bin/sync-upstream against this branch parses the metadata and correctly holds the current release in quarantine.

The runtime tree (bin, src, app, web, assets, data, examples) and the locked production npm dependencies install under /usr/lib/omarchy-billboard-generator, with /usr/bin/omarchy-billboard and /usr/bin/omarchy-billboard-app as symlinks, which Node resolves through the real path so the ESM entry points find their sources. Nothing in the app writes into its install root: synced data goes to the XDG data directory, Chromium profiles to a temporary directory and exports to the Videos folder. Chromium, ffmpeg and xdg-utils are runtime dependencies found on PATH, never downloaded, and npm is build-only. The fonts are bundled by the project, so the package is any and ships them with their OFL texts.

The desktop entry is generated inside package() rather than shipped as a second source, because the upstream sync rewrites the checksum array wholesale from the release manifest and a local file's hash would not survive the first version bump. Its StartupWMClass is the value src/app-launcher.js derives for the Chromium app-mode window. The catalog checks in check() pin the data and cache directories to empty scratch paths so the build reads the bundled data rather than whatever snapshot the builder's home holds.

The licence array lists MIT for the project's code, Apache-2.0 and 0BSD for the vendored dependencies, OFL-1.1 for the fonts, and LicenseRef-Omarchy for the wordmark, website palettes, taglines and ttfx runtime, which are Omarchy's own material carried over from omarchy-site; PROVENANCE.md is installed under the licences directory to say which file is which.

This was not built in a container here, because Docker is not running on the machine that wrote it; the PKGBUILD passes makepkg --printsrcinfo and the feed metadata passes bin/sync-upstream, and the first real build is the repository host's.

🤖 Generated by Fable 5.1 in Claude Code. Reviewed by Codex XHigh.

dhh and others added 2 commits September 11, 2026 12:17
Packages llstrk/omarchy-billboard-generator from its GitHub release archive: the runtime tree plus locked production npm dependencies under /usr/lib, entry-point symlinks in /usr/bin, a desktop entry whose WM class matches the Chromium app-mode window, and the fonts and provenance notices the project bundles. Chromium and ffmpeg are runtime dependencies found on PATH rather than downloaded, which is how the project itself works.

The desktop entry is written from the PKGBUILD rather than shipped as a second source because sync-upstream rewrites the checksum array wholesale from the release manifest. The catalog checks pin the data directories to empty scratch paths so the build reads bundled data rather than a synced snapshot in the builder's home.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Codex XHigh <noreply@openai.com>
Upstream merged the installer rollback, renderer Host check, contrast warning and playback fixes and cut v0.1.2 with them, plus a fullscreen intro that is canvas geometry only: no new dependencies, files or runtime paths. The checksum is the one its SHA256SUMS manifest publishes.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@dhh

dhh commented Sep 11, 2026

Copy link
Copy Markdown
Contributor Author

Bumped to v0.1.2, which llstrk cut after merging the review fixes in llstrk/omarchy-billboard-generator#1. Beyond those fixes it adds a fullscreen intro that is canvas geometry only, with no new dependencies, files or runtime paths, so the package changes only in version and checksum, taken from the release's SHA256SUMS manifest. The feed still parses and holds the fresh release in its 24-hour quarantine, as intended.

Co-authored-by: dhh <2741+dhh@users.noreply.github.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