Skip to main content

Marlin

Based on Arch Linux

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

BetaStatus
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
🏛️

Pantheon

elementary OS's elegant, minimal desktop — GNOME apps, own shell.

:pantheon

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
Pantheon desktop on marlin
Pantheon

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 grab a live ISO where one's published.

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.