ci
FreeGitHub Actions, Renovate, the two-branch release model, signing, and promotion. Use when changing workflows, dependency policy, or releasing.
The English summary is being prepared. Showing the original description.
Architecture, repository layout, and file map for this template. Use when orienting to the repository, tracing how the image is assembled, or deciding which skill covers a task.
The English summary is being prepared. Showing the original description.
Run score Not tested
See how to installReview the instructions the agent will receive before you install.
This repository builds a bootc operating system image by assembling OCI layers rather than by modifying an existing image. Bluefin, Aurora, and Bluefin LTS are built the same way, so the desktop configuration here is the one they ship.
The Containerfile is the source of truth, and it is deliberately verbose. It
defines three things:
Context stage (ctx) — combines the local build/ and custom/
directories with files pulled from two OCI images:
ghcr.io/projectbluefin/common — the shared desktop configuration,
branding, and the Brew/Flatpak/ujust plumbingghcr.io/ublue-os/brew — the Homebrew integrationBase image — the FROM line. It defaults to Fedora Silverblue and is the
only place the base is chosen. just build reads the image name and tag from
it; the Fedora major is read from the base image itself during the build.
Phases — each build script runs in its own RUN block, in the order the
Containerfile names them. build/README.md lists
them.
| Path | Holds |
|---|---|
Containerfile | Image assembly: identity, base image, and phases. |
Justfile | Build, VM, release, and test recipes. |
build/ | Build-time scripts: the phases, helpers, and the .example catalogue. |
custom/brew/ | Brewfiles, installed at runtime. |
custom/flatpaks/ | Flatpak preinstall declarations, installed on first boot. |
custom/ujust/ | ujust recipes. |
custom/files/ | System files overlaid onto /. |
custom/config/ | Per-user config seeded into /etc/skel/.config/. |
iso/ | Installer ISO and disk-image configuration. |
tests/ | contract/ (interfaces the image must satisfy) and template/ (this repository's build wiring). |
.github/ | Workflows, Renovate config, issue templates. |
| I need to… | Load |
|---|---|
| Understand the repository, or find the right skill | overview |
| Fork it and reach a first green build | onboarding |
| Add or remove a package, app, or command | customize |
| Change the Containerfile, Justfile, or a build phase | build |
| Change a workflow, Renovate, or the release model | ci |
| Fix something broken, or check before a pull request | troubleshooting |
The template consumes Project Bluefin's shared infrastructure rather than copying it:
projectbluefin/common — the shared runtime layer and the lifecycle label
workflowprojectbluefin/actions — the reusable workflows for image build, promotion,
sync, PR validation, and Renovateublue-os/brew — the Homebrew integrationChanges stay in this repository. ublue-os/* is read-only.
No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
GitHub Actions, Renovate, the two-branch release model, signing, and promotion. Use when changing workflows, dependency policy, or releasing.
The English summary is being prepared. Showing the original description.
Decide where a package, app, or command belongs — dnf5 at build time, Homebrew, Flatpak, or ujust — and how each is validated. Use when adding or removing something from the image.
The English summary is being prepared. Showing the original description.
Bootstrap a new image from this template: rename the project, enable Actions and Renovate, protect the branch, and reach a first green build. Use when forking the template or when setup has stalled.
The English summary is being prepared. Showing the original description.
Symptom to cause to fix for build, CI, and runtime failures, plus the pre-commit checklist. Use when something is broken or before opening a pull request.
The English summary is being prepared. Showing the original description.