index
![]
TunaOS
Cloud-native, immutable desktop Linux images
One desktop experience with bootc across Enterprise Linux and community distributions
🎃 Hacktoberfest 2026: Join us! Is this your first open-source PR? See our good first issues. You can also join the office hours for maintainers in October on Matrix.
About TunaOS
TunaOS builds bootc-based desktop operating systems with atomic updates and straightforward rollbacks. Choose an Enterprise Linux base for long-term stability or an alternative distribution for a faster release cadence. Both choices use the same image-based management model.
Visit tunaos.org or read the launch announcement.
- Modern Desktops: GNOME, KDE Plasma, COSMIC, Niri, and XFCE — equal first-class options across distribution bases
- Up-to-Date Desktop Stack: Fresh desktop features and updates backported to Enterprise and community bases
- Homebrew: Baked into the image — all your CLI apps and fonts are a
brewcommand away - Flathub by Default: Full Flathub access out of the box — get any Flatpak available on the net
- HWE and NVIDIA Options: Hardware Enablement kernels and NVIDIA drivers + CUDA as image tags
Choose your image
| Variant | Base OS | Registry Path | Desktops | Architectures |
|---|---|---|---|---|
| 🐠 Yellowfin | AlmaLinux Kitten 10 | ghcr.io/tuna-os/yellowfin | GNOME (x86_64 only, see note), KDE, COSMIC, Niri, XFCE | x86_64, x86_64/v2, arm64 |
| 🐟 Albacore | AlmaLinux 10 (RHEL 10) | ghcr.io/tuna-os/albacore | GNOME (x86_64 only, see note), KDE, COSMIC, Niri, XFCE | x86_64, x86_64/v2, arm64 |
| 🍣 Skipjack | CentOS Stream 10 | ghcr.io/tuna-os/skipjack | GNOME (x86_64 only, see note), KDE, COSMIC, Niri, XFCE | x86_64, arm64 |
| 🎣 Bonito | Fedora 44 | ghcr.io/tuna-os/bonito | GNOME, KDE, COSMIC, Niri, XFCE | x86_64, arm64 |
| 🐦 Hummingbird | Fedora Hummingbird (experimental) | ghcr.io/tuna-os/hummingbird | Base, GNOME, COSMIC | x86_64 (see note) |
| 🎏 Wahoo | Fedora ELN — EL11 preview (experimental, no codecs) | ghcr.io/tuna-os/wahoo | Base, GNOME, KDE, COSMIC | x86_64, arm64 |
| 🔒 Redfin | Red Hat Enterprise Linux 10 | Local-Build Only | GNOME, KDE, COSMIC, Niri, XFCE | x86_64, arm64 |
| 🪸 Grouper | Ubuntu 26.04 | ghcr.io/tuna-os/grouper | GNOME, KDE, COSMIC, XFCE | x86_64 |
| 🤖 Gurnard | Ubuntu 24.04 (Noble Numbat, experimental) | ghcr.io/tuna-os/gurnard | Base, Pantheon | x86_64, arm64 |
| 🚀 Marlin | Arch Linux (Rolling) | ghcr.io/tuna-os/marlin | GNOME, KDE, COSMIC, Niri, Roost, XFCE | x86_64 |
| 🐡 Flounder | Debian 13 (Trixie) | ghcr.io/tuna-os/flounder | KDE, XFCE | x86_64 |
| ☢️ Flounder Sid | Debian Sid (Unstable) | ghcr.io/tuna-os/flounder:*-sid | GNOME, KDE, XFCE | x86_64 |
| 🐉 Bonito Rawhide | Fedora Rawhide | ghcr.io/tuna-os/bonito:*-rawhide | GNOME, KDE, COSMIC, Niri, XFCE | x86_64, arm64 |
| ⛵ Sailfin | openSUSE Tumbleweed | ghcr.io/tuna-os/sailfin | GNOME, KDE, COSMIC, Niri, XFCE | x86_64 |
| 🌈 Guppy | Gentoo Linux | ghcr.io/tuna-os/guppy | KDE, XFCE | x86_64 |
| 🏔️ Tromsø | freedesktop-sdk (BuildStream), built in tuna-os/tromso | ghcr.io/tuna-os/tromso | KDE | x86_64 |
| 🐭 XFCE Linux | freedesktop-sdk (BuildStream), built in tuna-os/xfce-linux | ghcr.io/tuna-os/xfce-linux | XFCE | x86_64 |
GNOME on the EL10 variants comes from the tunaOS GNOME 50 package tier.
GitHub Actions builds this tier without COPR. The tier supports only x86_64
today, so the gnome and gnome-hwe images have only x86_64 support.
The gnome-asahi image is off until the tier adds aarch64
(tunaos-packages#673).
Every GNOME image uses GNOME 50 or newer. The project does not promote older versions.
Hummingbird is x86_64 only. This includes its base. The aarch64 package
snapshot has no xfsprogs, and the base stage needs it. No hummingbird arm64
image builds today. The architecture is absent, not thinner. See
docs/HUMMINGBIRD.md.
Tags are <desktop>[-hardware] — e.g. yellowfin:gnome-hwe,
albacore:kde-nvidia. Full tag reference: docs/IMAGE-TAGS.md.
Hardware requirements and ARM laptop status: docs/HARDWARE.md.
[!NOTE] Redfin (RHEL 10) is local-build only due to EULA restrictions. To build it locally, run
just build redfin <desktop>(see rhel-setup.md).
Live build matrix
The configured matrix now has 136 image cells, including one Roost cell for amd64 Marlin. The status snapshot below is from before that addition and does not prove image publication or a successful boot. Roost adds no ISO or LUKS cells.
Each cell reports the newest conclusive main-branch run that asserted it, so a flavor-filtered rebuild does not blank the cells it never scheduled. This table omits cancelled runs. Latest run names the variant's newest conclusive run. A green cell has a successful promotion to the published tag. Failed means that a job ran and failed. Not reached means that no recent run asserted the cell, usually because an earlier stage stopped it.
| Variant | Green image cells | Latest run | Failing | Not reached |
|---|---|---|---|---|
🐠 yellowfin | 18/18 | ❌ 2026-10-04 | — | — |
🐟 albacore | 18/18 | ✅ 2026-10-04 | — | — |
🍣 skipjack | 16/16 | ✅ 2026-10-04 | — | — |
🎏 wahoo | 4/4 | ❌ 2026-09-27 | — | — |
🎣 bonito | 16/16 | ✅ 2026-10-03 | — | — |
🐦 hummingbird | 1/3 | ❌ 2026-10-04 | gnome | cosmic |
⛵ sailfin | 6/6 | ❌ 2026-10-03 | — | — |
🌈 guppy | 3/3 | ✅ 2026-10-04 | — | — |
🐉 bonito-rawhide | 14/14 | ✅ 2026-10-03 | — | — |
🤖 gurnard | 2/2 | ✅ 2026-10-04 | — | — |
🪸 grouper | 7/7 | ✅ 2026-10-03 | — | — |
🚀 marlin | 16/17 | ✅ 2026-10-03 | — | roost |
🐡 flounder | 5/5 | ✅ 2026-10-03 | — | — |
☢️ flounder-sid | 7/7 | ❌ 2026-10-04 | — | — |
Sibling images from separate repositories. These TunaOS-family bootc images use BuildStream on freedesktop-sdk. They do not use packages from a distribution. Thus, the matrix above has no cells for them, and green-criteria.yml does not score them. Each repository runs its own checks for the build, live ISO, plain installation, and LUKS installation. The status shows the latest complete build from the main branch of that repository.
| Image | Built by | Desktop | Latest main build |
|---|---|---|---|
🏔️ ghcr.io/tuna-os/tromso | tromso | KDE | ✅ 2026-10-04 |
🐭 ghcr.io/tuna-os/xfce-linux | xfce-linux | XFCE | ✅ 2026-10-04 |
Built 133/136 · composite green 124/136 (97% built) — The remainder has 1 failure and 2 never reached (stale: 4); no job asserted the latter. We show the two values separately. A cell with no job has no test, but it can still work.
The score for composite green uses published cells, per docs/MATRIX-STATUS.md. .github/green-criteria.yml provides the score. Today, these criteria prevent publication: boots, builds, desktop, no_silent_omissions. A cell must satisfy each criterion.
Skipped cells and cells with no test do not count as green. The full per-axis board is docs/MATRIX-STATUS.md. This snapshot of CI shows one point in time. It does not promise a support tier.
Get started
-
Install from an ISO: 📦 tunaos.org/download
-
Install from Windows (no USB drive needed): 🪟 wootc installer (download from releases / read the Migration Guide)
-
Build your own ISO in the browser: 🛠️ tunaos.org/iso-builder
-
Switch an existing bootc system:
sudo bootc switch ghcr.io/tuna-os/yellowfin:gnome
For local media builds, signature and SBOM checks, registry authentication, and pull help, read docs/INSTALL.md.
Contributing
Contributions welcome! See CONTRIBUTING.md for development
environment setup, the build workflow and pre-commit checklist, pull request
guidelines, and an architecture overview.
Community and support
- 🐛 Report Issues: GitHub Issues
- [m] Chat: #tunaos:reilly.asia
- 🎮 Discord: TunaOS
Related communities: Universal Blue Discord · AlmaLinux Atomic SIG
Documentation
Start here:
- User Guide — image choice, installation, updates, rollback, apps, and encryption
- Developer Guide — the complete pipeline with architecture diagrams
- Installation — media builds, verification, and registry access
- Hardware Support — requirements and ARM laptop status
- Matrix Status — quality status for each variant×desktop cell
- Roadmap — project direction and feature status
- Vision — project philosophy
The full index of every guide, policy, and project plan is at docs/README.md.
Made by James in his free time
Powered by Bootc

This repository and many tuna-os repositories use Hive for development and maintenance. Hive is a development platform for AI agents. It uses KubeStellar for orchestration.
Inspired by Bluefin and the Universal Blue Community
Licensed under Apache 2.0
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.