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 Adopters Discord

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 a community distribution for a faster release cadence, while keeping the same image-based management model.

Visit tunaos.org or read the launch announcement.

Features

  • Modern Desktops: GNOME, KDE Plasma, COSMIC, and Niri — your choice, on Enterprise Linux
  • Latest GNOME: Don't get stuck on a 3-year-old GNOME. We backport the latest desktop features to the Enterprise Desktop
  • 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 Option: Hardware Enablement kernel for newer hardware support
  • NVIDIA Option: NVIDIA drivers and CUDA for graphics and AI workflows

Images and variants

TunaOS provides a variety of bootc-based operating system images. Use the table below to choose your base distribution and desktop environment.

Live build matrix

Generated from the latest completed main-branch build for each variant. A cell is green when its image was successfully promoted to the published tag.

VariantGreen image cellsLatest runBlocked or failing tags
🐠 yellowfin9/16❌ 2026-07-14base,base-hwe,base-nvidia,gnome,cosmic,kde,niri
🐟 albacore16/16❌ 2026-07-14
🍣 skipjack15/15❌ 2026-07-14
🎣 bonito14/14❌ 2026-07-14
🦈 sailfin5/5✅ 2026-07-14
🌈 guppy3/3✅ 2026-07-14
🐉 bonito-rawhide13/14❌ 2026-07-14gnome
🐟 grouper4/6❌ 2026-07-14gnome-zfs,niri
🚀 marlin0/8❌ 2026-07-15base,gnome,kde,cosmic,niri,xfce,gnome-cachyos,kde-cachyos
🐡 flounder0/6❌ 2026-07-15base,gnome,kde,cosmic,niri,xfce
☢️ flounder-sid0/6❌ 2026-07-15base,gnome,kde,cosmic,niri,xfce

Current image coverage: 79/109 cells (72%). This is a point-in-time CI snapshot, not a support-tier promise.

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 onlyx86_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
🚀 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

[!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).

Suffix Rules (Image Tags)

Image tags are constructed as <desktop>[-hardware]:

  1. Desktop Suffixes:

    • gnome: GNOME (stable)
    • kde: KDE Plasma
    • cosmic: COSMIC Desktop
    • niri: Niri (tiling Wayland compositor)
    • xfce: XFCE (Wayland experimental)
    • base: Plain system image with no desktop environment pre-installed (available for most variants)
  2. Hardware Suffixes (append to any desktop suffix):

    • (none): Standard generic kernel build
    • -hwe: Hardware Enablement (newer kernel stack)
    • -nvidia: NVIDIA drivers + CUDA pre-configured
    • -nvidia-hwe: NVIDIA drivers on HWE kernel stack

Example tags: yellowfin:gnome-hwe, albacore:kde-nvidia, marlin:cosmic


System requirements

ComponentMinimumRecommended
CPUx86_64, ARM64x86_64, ARM64
RAM4 GB8 GB+
Storage20 GB50 GB+

Installation

Use a pre-built ISO

Browse the currently published installation media on the download page:

📦 tunaos.org/download

Build your own ISO or VM image

In your browser — no tools, no root, nothing uploaded:

🛠️ tunaos.org/iso-builder — point it at any TunaOS image (or your own bootc image), pick your flatpaks, and it authors a bootable live ISO entirely in WebAssembly using the same tacklebox engine CI uses. User guide.

Or locally with tacklebox:

# ISO (requires root)
sudo tacklebox build --iso tunaos-yellowfin-gnome.iso \
--bootable-environment-image ghcr.io/tuna-os/yellowfin:gnome \
--bootable-environment-desktop gnome \
--output-base .build/iso

Or use the included helper script:

sudo ./scripts/build-iso-tacklebox.sh yellowfin gnome ghcr gnome

For QCOW2 VM images, use bootc directly:

# QCOW2 (VM image)
sudo bootc image build-to-qcow2 \
--output-format qcow2 \
ghcr.io/tuna-os/yellowfin:gnome

Switch an existing system

If you're already running a compatible bootc system:

sudo bootc switch ghcr.io/tuna-os/yellowfin:gnome

Container registry authentication

Images are published on GitHub Container Registry (GHCR). To pull images with bootc or podman:

# Authenticate to GHCR (requires a GitHub personal access token with read:packages scope)
echo "$GITHUB_TOKEN" | podman login ghcr.io -u YOUR_USERNAME --password-stdin

# Or use the GitHub CLI
gh auth token | podman login ghcr.io -u YOUR_USERNAME --password-stdin

See GitHub Container Registry docs for more details.

Contributing

Contributions welcome! See CONTRIBUTING.md for:

  • Development environment setup
  • Build workflow and pre-commit checklist
  • Pull request guidelines
  • Architecture overview

Community and support

Related Communities:

Documentation

Project Docs

Policies & Planning

Community & Governance

  • Community — contribution ladder, metrics, communication
  • Maintainers — maintainer playbook and bus factor plan

External Resources


Tuna_OS_Logo

Made by James in his free time

Powered by Bootc

Bootc_Logo

🤖 Powered by KubeStellar / Hive

This repository and many of the tuna-os repositories are developed and maintained using Hive — an AI-driven development platform orchestrated via KubeStellar.

Hive deploys a suite of specialized AI agents (guide, architect, sec-check, quality, ci-maintainer, strategist) onto a local Kubernetes cluster. These agents triage issues, implement fixes, review PRs, manage CI pipelines, and maintain documentation — all working autonomously through GitHub.

Hive

Every commit, PR, and issue in this repo benefits from multi-agent collaboration coordinated through Hive.

Learn more: hanthor/hive | KubeStellar


Inspired by Bluefin and the Universal Blue Community

Licensed under Apache 2.0