Skip to content
tuna-osPublic

About

Bringing a modern cloud-native experience to the Enterprise Linux Desktop

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

62 stars

Watchers

1 watching

Forks

Latest commit

Β 

History

8,436 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🐟

TunaOS

Cloud-native, immutable desktop Linux images

One desktop experience with bootc across Enterprise Linux and community distributions


License GitHub Stars Issues External adoption evidence Discussions

πŸŽƒ Hacktoberfest 2026: Start with the org-wide good first issues. See the ecosystem guide for a map of repositories, mentorship, Q&A, and office hours.

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 User Guide.

Make your first contribution Β· Meet the contributors Β· Contributor roadmap

  • 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 brew command 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, Tuna (x86_64 only), 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, Tuna (x86_64 only), 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, Tuna (x86_64 only), XFCE x86_64, arm64
🎣 Bonito Fedora 44 ghcr.io/tuna-os/bonito GNOME, KDE, COSMIC, Niri, Tuna (x86_64 only), 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, Tuna (x86_64 only) 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, Tuna, 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, Tuna, XFCE x86_64
🐑 Flounder Debian 13 (Trixie) ghcr.io/tuna-os/flounder KDE, Tuna, XFCE x86_64
TromsΓΈ freedesktop-sdk (BuildStream), built in tuna-os/tromso ghcr.io/tuna-os/tromso KDE x86_64
XFCE Linux (Brussels) freedesktop-sdk (BuildStream), built in tuna-os/xfce-linux ghcr.io/tuna-os/xfce-linux XFCE x86_64
Athens GNOME OS OCI runtime (BuildStream) Local-only: oci/athens.bst Pantheon Not published
β›΅ Sailfin openSUSE Tumbleweed ghcr.io/tuna-os/sailfin GNOME, KDE, COSMIC, Niri, Tuna, XFCE x86_64
🌈 Guppy Gentoo Linux ghcr.io/tuna-os/guppy GNOME, 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 147 image cells. Eleven of them are Tuna Desktop (formerly Roost) cells for amd64: marlin:tuna, yellowfin:tuna, albacore:tuna, skipjack:tuna, wahoo:tuna, bonito:tuna, bonito:tuna-rawhide, grouper:tuna, flounder:tuna, flounder:tuna-sid and sailfin:tuna. The tuna_rollout record in tunaos.toml gives each other variant its reason to stay unsupported. The guppy:gnome cell is back (2026-10-07, #2450). The former marlin:roost tags get no more updates; existing installs must follow the explicit switch and recovery procedure. The status snapshot below is from before those additions and does not prove image publication or a successful boot. Tuna Desktop 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 19/19 ❌ 2026-10-22 β€” β€”
🐟 albacore 19/19 βœ… 2026-10-22 β€” β€”
🍣 skipjack 17/17 ❌ 2026-10-22 β€” β€”
🎏 wahoo 4/5 ❌ 2026-10-16 tuna β€”
🎣 bonito 17/17 βœ… 2026-10-21 β€” β€”
🐦 hummingbird 1/3 ❌ 2026-10-15 gnome cosmic
β›΅ sailfin 7/7 βœ… 2026-10-22 β€” β€”
🌈 guppy 3/4 ❌ 2026-10-23 β€” gnome
πŸ‰ bonito-rawhide 14/15 ❌ 2026-10-22 β€” gnome
πŸ€– gurnard 2/2 βœ… 2026-10-23 β€” β€”
πŸͺΈ grouper 8/8 βœ… 2026-10-22 β€” β€”
πŸš€ marlin 17/17 ❌ 2026-10-22 β€” β€”
🐑 flounder 6/6 βœ… 2026-10-23 β€” β€”
☒️ flounder-sid 5/8 ❌ 2026-10-23 β€” gnome-nvidia,kde-nvidia,xfce-nvidia

BuildStream image family. These TunaOS products use independent BuildStream projects and release pipelines. They are part of this image matrix, but remain separate from the distro Γ— desktop cell counts and their green criteria. Published OCI references show the latest conclusive main-branch build. Athens is experimental and local-only: CI checks its graph, but there is no published image build.

Brand Image or target Project Desktop Availability Latest main build
ghcr.io/tuna-os/tromso tromso KDE Alpha · GHCR OCI reference ❌ 2026-10-31
ghcr.io/tuna-os/xfce-linux xfce-linux XFCE Alpha Β· GHCR OCI reference βœ… 2026-10-31
oci/athens.bst (local-only) athens Pantheon Experimental Β· local-only; no public image β€” (graph checks only; no image build)

Built 139/147 Β· composite green 120/147 (94% built) β€” The remainder has 2 failures and 6 never reached (stale: 5); no job asserted the latter. We show the two values separately. A cell with no job has no test, but it can still work.

Factory health: 124/147 cells green

Install-tested: 110/110 Β· Lifecycle-tested: 41/52 Β· Never tested: 33

Known regressions: 11 blocking, 86 advisory

Last full sweep: 46 days ago (2026-09-01) 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, parity. 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

For local media builds, signature and SBOM checks, registry authentication, and pull help, read docs/INSTALL.md.

Contribute compute β€” no code needed

Donate time with your AI CLI.

Your machine runs one task at a time using your signed-in AI coding CLI. The relay alternates between eligible School (OS) and Reef (apps) hives after each task. If one hive has no work, the other can continue.

The guide covers prerequisites, verified just setup, credentials, provider costs, and how to stop with Ctrl+C. Your subscription quota or API charges apply. Never post account credentials or API keys in issues or pull requests.

Contributing

Contribute through Hive to donate time with your AI CLI.

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

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

To customize a fork, start at Customize a fork. The full index of every guide, policy, and project plan is at docs/README.md.


Tuna_OS_Logo

Made by James in his free time

Powered by Bootc

Bootc_Logo

Inspired by Bluefin and the Universal Blue Community

Licensed under Apache 2.0

About

Bringing a modern cloud-native experience to the Enterprise Linux Desktop

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

62 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages