New Variants: Arch Linux (Marlin) and CachyOS (Wahoo)
TunaOS is no longer Enterprise-Linux-only. Today we're adding two rolling-release variants to the build matrix: Marlin (Arch Linux) and Wahoo (CachyOS).
Why Rolling Release?β
The project vision is clear: erase the mystique of the Linux distribution. A "distro" is just base OS Γ desktop Γ kernel Γ drivers β assembled by a build factory. If that's true, it shouldn't matter whether the base is RHEL-compatible, Fedora, Ubuntu, Arch, or CachyOS. The same factory should produce them all.
π Marlin β Arch Linux on bootcβ
Arch Linux with the stability guarantees of bootc: atomic updates, rollback, immutable base.
- Base:
archlinux/archlinux:latest - Kernel: stock
linux(latest stable) - Package manager: pacman
- bootc: built from source (Arch doesn't package it yet)
- Desktops: gnome, kde, cosmic, niri, xfce
How It Worksβ
Containerfile.arch bootcifies a stock Arch container:
- Builds bootc from source (~2 min Rust compile)
- Moves
/varβ/usr/lib/sysimagefor pacman+ostree compatibility - Installs kernel, dracut, ostree, filesystem tools
- Builds initramfs with bootc dracut modules
- Sets up composefs + ostree rootfs layout
Desktop packages come from the same manifest system β the pacman: section in each manifests/desktops/*.yaml.
π Wahoo β CachyOS on bootcβ
The performance variant. CachyOS ships:
- BORE scheduler β better desktop interactivity under load
- LTO-compiled packages β 5-15% faster binaries
- x86-64-v3 targeting β uses modern CPU instructions (AVX2, BMI2, etc.)
- Performance-tuned sysctl β optimized for desktop workloads
Same Containerfile.arch β it auto-detects CachyOS repos in pacman.conf and installs linux-cachyos instead of stock linux.
The Matrixβ
β gnome β kde β niri β cosmic β xfce β
βββββββββββββββΌββββββββΌβββββββΌβββββββΌβββββββββΌβββββββ€
EL10 β β
β β
β β
β β
β β
β
Fedora β β
β β
β β
β β
β β
β
Ubuntu β β
β β
β β
β β β β
β
Arch β β
β β
β β
β β
β β
β β NEW
CachyOS β β
β β
β β
β β
β β
β β NEW
Try Itβ
# Build locally
just build marlin gnome
just build wahoo kde
# Or switch a running system
sudo bootc switch ghcr.io/tuna-os/marlin:gnome
sudo bootc switch ghcr.io/tuna-os/wahoo:kde
Both variants are marked experimental β expect rough edges. ISOs coming once the builds stabilize.
Creditsβ
This work stands on the shoulders of:
- bootcrew β the reference implementation for Arch Linux on bootc. Their
arch-bootcproject proved the composefs-native backend works on Arch and pioneered the/varβ/usr/lib/sysimagepacman migration. OurContainerfile.archis directly based on their work. - jumpvi / bootc-shindig β the
bootc-debapt packages that make bootc work on Ubuntu/Debian. Without their work packaging bootc for apt-based systems, our Grouper (Ubuntu) variant wouldn't exist. The entire deb-based bootc ecosystem traces back to their packaging effort. - CachyOS β for maintaining performance-optimized Arch repos (BORE scheduler, LTO, x86-64-v3) and publishing Docker images we can build on.
- Universal Blue and Project Bluefin β for proving that bootc-based desktop images work at scale and inspiring this entire approach.
