index
⚠️ Alpha — early development. Not production-ready. APIs and behaviour may change without notice.
An OCI image with XFCE Wayland, built through BuildStream — a lightweight and immutable OS image with the XFCE desktop.
Part of the TunaOS ecosystem.
Features
- Lightweight — XFCE desktop optimized for low-resource systems
- Immutable — OCI-based, atomic updates via
bootc - Wayland — modern display protocol
- BuildStream — reproducible builds from source
Quick Start
# Pull the image
podman pull ghcr.io/tuna-os/xfce-linux:latest
# Switch an existing bootc system
sudo bootc switch ghcr.io/tuna-os/xfce-linux:latest
Stable release channel
The release workflow publishes the first stable channel only after all checks pass. The checks cover the nightly image, matching live ISO, plain install, and LUKS install. After promotion, use the immutable image at:
podman pull ghcr.io/tuna-os/xfce-linux:stable
sudo bootc switch ghcr.io/tuna-os/xfce-linux:stable
The workflow publishes the stable live ISO and checksum under
https://pub-<configured-r2-domain>/xfce-linux/stable/. Their names are
xfce-linux-live-latest.iso and xfce-linux-live-latest.iso-CHECKSUM.
The promotion workflow verifies both objects before it marks the release as
ready. Thus, downstream download pages can safely use those stable names.
Verifying Signatures
CI signs each OCI image with cosign and
a project key. The public half is cosign.pub in this repository. The build
copies it into the image at /usr/share/pki/containers/xfce-linux.pub, where
bootc reads it. See docs/signing.md.
The project uses a key, not a keyless signature, because bootc verifies
through containers-policy(5). That policy type takes a path to a public key
and cannot express a Fulcio certificate identity.
OCI images:
cosign verify --key cosign.pub ghcr.io/tuna-os/xfce-linux:latest
Live ISO signatures (.sig and .cert files accompany each dated ISO,
such as xfce-linux-live-<date>-<sha>.iso.sig):
cosign verify-blob xfce-linux-live-<date>-<sha>.iso \
--certificate xfce-linux-live-<date>-<sha>.iso.cert \
--signature xfce-linux-live-<date>-<sha>.iso.sig \
--certificate-identity-regexp 'https://github.com/tuna-os/xfce-linux/\.github/workflows/build-iso\.yml@.*' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com
Docs
License
Apache 2.0 — see LICENSE.
Contribute compute — no code needed
No time to write code? You can still push this project's backlog forward. A TunaOS AI-agent hive works on this repository. Lend the hive your AI subscription or API tokens, and your machine runs tasks from this project's backlog.