Skip to main content

introduction

Welcome to TunaOS β€” a curated collection of Cloud-Native Enterprise Linux OS Images built on modern container technology.

What is TunaOS?​

TunaOS produces bootc-based desktop operating system images for Enterprise Linux platforms. Each image is an OCI container that can be:

  • Booted directly via bootc on bare metal or VMs
  • Converted to an ISO for traditional installation
  • Converted to a disk image (QCOW2, raw) for VM usage
  • Switched to in-place on an existing bootc system

The goal: bring a modern desktop experience to Enterprise Linux β€” stable, immutable, and up-to-date.

Architecture​

TunaOS images are built in layers:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ DE Stage (GNOME/KDE/…) β”‚ ← Desktop packages + theming
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Base Stage (no-DE common) β”‚ ← System packages, services, brew
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Enterprise Linux Base (bootc) β”‚ ← AlmaLinux / CentOS Stream / Fedora / RHEL
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Optional hardware layers sit between base and DE:

DE Stage
↑
Base-{hwe|nvidia} Stage ← HWE kernel or NVIDIA drivers
↑
Enterprise Linux Base

Key technologies:

ComponentPurpose
bootcBootable OCI containers β€” replaces traditional package-based OS
PodmanBuildKit-compatible container build engine
FlathubPreconfigured Flatpak remote for desktop apps
HomebrewCLI package manager baked into every image
tackleboxISO and disk image generation from bootc containers

Supported Variants​

VariantBase OSStatusPlatforms
YellowfinAlmaLinux Kitten 10Stablex86_64, x86_64/v2, ARM64
AlbacoreAlmaLinux 10Stablex86_64, x86_64/v2, ARM64
SkipjackCentOS Stream 10Betax86_64, ARM64
BonitoFedora 44Developmentx86_64, ARM64
RedfinRHEL 10Local-build onlyx86_64, ARM64

Choosing a Variant​

  • Yellowfin β€” best for most users. Tracks upstream CentOS Stream closely with AlmaLinux stability. Latest GNOME backports.
  • Albacore β€” best for enterprise deployments. Fully RHEL-compatible, slower package cadence, maximum stability.
  • Skipjack β€” for CentOS Stream purists. Upstream of RHEL; packages may be slightly newer than Albacore.
  • Bonito β€” for Fedora users who want cutting-edge packages. Still in active development.
  • Redfin β€” RHEL 10 with subscription. Local-build only; for environments requiring official Red Hat support.

For hardware variants:

  • Standard β€” works on most hardware with the default EL kernel.
  • HWE (-hwe) β€” for recent hardware (post-2023) needing a newer kernel.
  • nvidia (-nvidia) β€” for systems with NVIDIA GPUs; includes drivers and CUDA.
  • nvidia+HWE (-nvidia-hwe) β€” NVIDIA on the HWE kernel; for very recent NVIDIA hardware.

Desktop Environments​

TagDesktop
gnomeGNOME (stable)
gnome50GNOME 50 (latest)
kdeKDE Plasma
cosmicCOSMIC Desktop
niriNiri (tiling Wayland compositor)

Hardware Variants​

SuffixDescription
(none)Standard kernel
-hweHardware Enablement β€” newer kernel for recent hardware
-nvidiaNVIDIA drivers + CUDA for graphics/AI workloads
-nvidia-hweNVIDIA + CUDA on HWE kernel

Example tags: yellowfin:gnome, albacore:kde-nvidia, skipjack:niri-hwe

Immutable Design​

TunaOS images are immutable at runtime. The root filesystem is read-only; changes are applied via layering:

  • System packages: Added at build time via dnf in Containerfile stages
  • Desktop apps: Installed at runtime via Flatpak (Flathub)
  • CLI tools: Installed at runtime via Homebrew (/var/home/linuxbrew)
  • Configuration: Overlay files in /etc via system_files/

This design provides:

  • Atomic updates: bootc upgrade applies a new image as a single transaction
  • Rollback: bootc rollback reverts to the previous deployment
  • Reproducibility: Images are built from Containerfiles tracked in git

Comparison​

TunaOSTraditional ELFedora Silverblue
BaseAlmaLinux/CentOS/Fedora/RHELRHEL/AlmaLinuxFedora
DesktopGNOME/KDE/COSMIC/NiriGNOME (stock)GNOME
UpdatesOCI image-based (atomic)DNF (package-by-package)rpm-ostree (layered)
Rollbackbootc rollbackNo native rollbackrpm-ostree rollback
ImmutableYesNoYes
Container-nativeYes (OCI images as OS)NoPartial

Getting Started​

  1. Install from ISO β€” download a pre-built ISO and install
  2. Build your own β€” build images locally with just and podman
  3. Switch an existing system β€” bootc switch from another bootc-based OS