Skip to main content

index

![]

TunaOS

Cloud-native, immutable desktop Linux images

One bootc-native desktop experience across Enterprise Linux and community distributions


License GitHub Stars Issues Adoption evidence Discord

🎃 Hacktoberfest 2026: We are participating! Looking for your first open-source PR? Check out our good first issues and join us on Matrix for maintainer office hours in October.

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, while keeping 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 just 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

VariantBase OSRegistry PathDesktopsArchitectures
🐠 YellowfinAlmaLinux Kitten 10ghcr.io/tuna-os/yellowfinGNOME, KDE, COSMIC, Nirix86_64, x86_64/v2, arm64
🐟 AlbacoreAlmaLinux 10 (RHEL 10)ghcr.io/tuna-os/albacoreGNOME, KDE, COSMIC, Nirix86_64, x86_64/v2, arm64
🍣 SkipjackCentOS Stream 10ghcr.io/tuna-os/skipjackGNOME, KDE, COSMIC, Nirix86_64, arm64
🎣 BonitoFedora 44ghcr.io/tuna-os/bonitoGNOME, KDE, COSMIC, Nirix86_64, arm64
🐦 HummingbirdFedora Hummingbird (experimental)ghcr.io/tuna-os/hummingbirdBase, GNOME, COSMICx86_64; arm64 (base only)
🎏 WahooFedora ELN — EL11 preview (experimental, no codecs)ghcr.io/tuna-os/wahooBase, GNOMEx86_64, arm64
🔒 RedfinRed Hat Enterprise Linux 10Local-Build OnlyGNOME, KDE, COSMIC, Niri, XFCEx86_64, arm64
🐟 GrouperUbuntu 26.04ghcr.io/tuna-os/grouperGNOME, KDE, Niri, XFCEx86_64
🐟 GurnardUbuntu 24.04 (Noble Numbat, experimental)ghcr.io/tuna-os/gurnardBase, Pantheonx86_64, arm64
🚀 MarlinArch Linux (Rolling)ghcr.io/tuna-os/marlinGNOME, KDE, COSMIC, Niri, XFCEx86_64
🐡 FlounderDebian 13 (Trixie)ghcr.io/tuna-os/flounderGNOME, KDE, COSMIC, Niri, XFCEx86_64
☢️ Flounder SidDebian Sid (Unstable)ghcr.io/tuna-os/flounder:*-sidGNOME, KDE, COSMIC, Niri, XFCEx86_64
🐉 Bonito RawhideFedora Rawhideghcr.io/tuna-os/bonito:*-rawhideGNOME, KDE, COSMIC, Niri, XFCEx86_64, arm64
🦈 SailfinopenSUSE Tumbleweedghcr.io/tuna-os/sailfinGNOME, KDE, Niri, XFCEx86_64
🌈 GuppyGentoo Linuxghcr.io/tuna-os/guppyGNOME, KDEx86_64
🏔️ Tromsøfreedesktop-sdk (BuildStream), built in tuna-os/tromsoghcr.io/tuna-os/tromsoKDEx86_64
🐭 XFCE Linuxfreedesktop-sdk (BuildStream), built in tuna-os/xfce-linuxghcr.io/tuna-os/xfce-linuxXFCEx86_64

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

Generated from the latest conclusive main-branch build for each variant (cancelled runs are skipped over). A cell is green when its image was successfully promoted to the published tag; failing means a job ran and failed; not reached means no job asserted the cell at all, usually because an earlier stage stopped it.

VariantGreen image cellsLatest runFailingNot reached
🐠 yellowfin9/20❌ 2026-09-03gnome,cosmic,niri,gnome-hwe,gnome-nvidia,gnome-nvidia-hwe,cosmic-hwe,cosmic-nvidia,niri-hwe,niri-nvidia,xfce-nvidia
🐟 albacore12/20❌ 2026-09-03cosmic,niri,gnome-asahi,gnome-nvidia-hwe,cosmic-hwe,cosmic-nvidia,niri-hwe,niri-nvidia
🍣 skipjack6/18❌ 2026-09-02xfcegnome,cosmic,niri,gnome-hwe,gnome-asahi,gnome-nvidia,gnome-nvidia-hwe,cosmic-hwe,cosmic-nvidia,niri-hwe,niri-nvidia
🎏 wahoo3/4❌ 2026-08-27cosmic
🎣 bonito1/16❌ 2026-09-03base,base-hwe,base-nvidia,gnome,cosmic,kde,niri,xfce,gnome-hwe,gnome-asahi,gnome-t2,gnome-nvidia,cosmic-nvidia,kde-nvidia,niri-nvidia
🐦 hummingbird0/3❌ 2026-09-03base,gnome,cosmic
🦈 sailfin0/7❌ 2026-09-02base,gnome,gnome-asahi,kde,niri,xfce,cosmic
🌈 guppy3/4❌ 2026-09-02kde
🐉 bonito-rawhide4/14❌ 2026-09-02base,base-hwe,base-nvidia,gnome,cosmic,kde,niri,xfce,cosmic-nvidia,niri-nvidia
🐟 gurnard2/2❌ 2026-09-03
🐟 grouper0/7❌ 2026-09-02base,gnome,gnome-asahi,gnome-zfs,kde,cosmic,xfce
🚀 marlin10/16❌ 2026-09-02cosmic,niri,cosmic-cachyos,niri-cachyos,cosmic-nvidia,niri-nvidia
🐡 flounder0/7❌ 2026-09-02base,gnome,kde,xfce,gnome-nvidia,kde-nvidia,xfce-nvidia
☢️ flounder-sid0/7❌ 2026-09-03base,gnome,kde,xfce,gnome-nvidia,kde-nvidia,xfce-nvidia

Sibling images, built in their own repositories. These are TunaOS-family bootc images built with BuildStream on freedesktop-sdk rather than from a distribution's packages, so they have no cells in the matrix above and are not scored by green-criteria.yml; each repository runs its own build, live-ISO, plain-install and LUKS-install checks. Status is that repository's latest completed main-branch build.

ImageBuilt byDesktopLatest main build
🏔️ ghcr.io/tuna-os/tromsotromsoKDE❌ 2026-09-02
🐭 ghcr.io/tuna-os/xfce-linuxxfce-linuxXFCE❌ 2026-09-03

Built 50/145 · composite green 52/145 (34% built) — of the remainder, 1 failing and 94 never reached (no job asserted them). The two are reported separately on purpose: a never-reached cell is untested, not broken. Composite green counts published cells, per docs/MATRIX-STATUS.md and is scored against .github/green-criteria.yml, blocking today on boots, builds, desktop, no_silent_omissions — every one of those a cell must satisfy, with skipped and never-tested counting as not green. The full per-axis board is docs/MATRIX-STATUS.md. This is a point-in-time CI snapshot, not a support-tier promise.

Get started

Building media locally, verifying signatures and SBOMs, registry authentication, and pull troubleshooting: 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

Related communities: Universal Blue Discord · AlmaLinux Atomic SIG

Documentation

Start here:

  • User Guide — choosing an image, installing, updating, rolling back, apps, encryption
  • Developer Guide — the whole pipeline and its plumbing, with diagrams
  • Installation — building media, verification, registry access
  • Hardware Support — requirements and ARM laptop status
  • Matrix Status — which variant×desktop cells are verified, per quality axis
  • Roadmap — project direction and feature status
  • Vision — project philosophy

The full index — every guide, policy, and planning doc — is at docs/README.md.


Tuna_OS_Logo

Made by James in his free time

Powered by Bootc

Bootc_Logo

This repository and many of the tuna-os repos are developed and maintained with Hive, an AI-driven development platform orchestrated via KubeStellar.


Inspired by Bluefin and the Universal Blue Community

Licensed under Apache 2.0