Skip to main content

Marlin

Based on Arch Linux

Marlin tracks Arch Linux rolling packages on top of the composefs-native bootc runtime.

ProductionStatus
Rolling-releaseCadence
x86_64Arch

One base, every desktop

Each Marlin flavor ships a different desktop on the same Arch Linux foundation.

🖥️

GNOME

The polished default — latest GNOME, backported to Enterprise Linux.

:gnome

KDE Plasma

Endlessly customizable, feature-rich Plasma desktop.

:kde

COSMIC

System76's Rust-built next-gen desktop.

:cosmic

Niri

A scrollable-tiling Wayland compositor for keyboard-driven flow.

:niri
🐭

XFCE

The classic lightweight desktop — ported to Wayland with the new xfwl4 compositor.

:xfce

See the desktops

Real screenshots, captured automatically each week by booting every desktop in a VM.

GNOME desktop on marlin
GNOME
KDE Plasma desktop on marlin
KDE Plasma
COSMIC desktop on marlin
COSMIC
Niri desktop on marlin
Niri
XFCE desktop on marlin
XFCE

Why Marlin

🔄

Atomic & rollback-safe

Built on bootc: image-based updates that apply in one transaction and roll back just as cleanly.

🍺

Homebrew baked in

Thousands of CLI tools and fonts a `brew install` away — no layering, no rebuilds.

Flathub by default

Full Flathub access out of the box. Install any Flatpak on the net, instantly.

🎮

NVIDIA + CUDA option

A dedicated -nvidia flavor ships the proprietary driver and CUDA for gaming and AI workloads.

Images & flavors

Pull any flavor directly, or rebase an existing bootc system onto it.

GNOMEghcr.io/tuna-os/marlin:gnome
KDE Plasmaghcr.io/tuna-os/marlin:kde
COSMICghcr.io/tuna-os/marlin:cosmic
Nirighcr.io/tuna-os/marlin:niri
XFCEghcr.io/tuna-os/marlin:xfce
Rebase an existing bootc system
sudo bootc switch ghcr.io/tuna-os/marlin:gnome

Dive into Marlin

Grab a live ISO, or rebase an existing bootc system in one command.