A clean, immutable Fedora desktop for everyday users.
Pureblue is a Fedora bootc-based immutable image that stays close to vanilla GNOME while providing sane defaults and a zero-friction setup. No tinkering required—just install and start working.
- Immutable atomic updates with instant rollbacks
- Vanilla GNOME experience, no heavy customization
- Zero setup—works out of the box
- Bootc-native—swap between editions or images without reinstalling
- Download the latest ISO from the releases page
- Create a bootable USB with Fedora Media Writer
- Boot and install
Already running Fedora Silverblue/Kinoite? Switch to Pureblue without losing your data.
Method A: rpm-ostree (Recommended)
rpm-ostree rebase ostree-unverified-registry:ghcr.io/pureblue-os/pureblue:stable
rebootMethod B: bootc switch
sudo bootc switch ghcr.io/pureblue-os/pureblue:stable
rebootNote: While
bootc switchworks,rpm-ostreeis recommended for most users because it supports user-layered packages (needed for hardware drivers). Pureblue usesrpm-ostreefor automatic upgrades and provides better visibility of your system state viarpm-ostree status.
Available variants:
ghcr.io/pureblue-os/pureblue(AMD/Intel)ghcr.io/pureblue-os/pureblue-nvidia(NVIDIA proprietary drivers from RPM Fusion)ghcr.io/pureblue-os/pureblue-nvidia-open(NVIDIA open kernel modules from negativo17)
Keeping updated:
rpm-ostree upgrade
rebootOn an immutable system, the base OS stays pristine. Here's the recommended hierarchy for installing software—follow this order to keep your system stable and manageable:
Install graphical apps from the app store (Steam, Chrome, LibreOffice). Flatpaks are sandboxed and won't touch your base system.
Exception: IDEs (VS Code, JetBrains) work better in Distrobox, even when available as Flatpaks.
Install command-line tools in user space:
brew install fastfetch ripgrep fd kubectlPerfect for developer utilities that don't need system integration.
When Flatpak or Homebrew don't have what you need, use Distrobox. Create containers (Ubuntu, Debian, etc.) that integrate seamlessly with your desktop—GPU acceleration, audio, and apps appear in your launcher.
Best for: Development environments, specialized tools, or apps not available elsewhere.
Never layer user applications. Only use rpm-ostree install for:
- Hardware control daemons (ASUS ROG tools, fan control)
- System services (power-profiles-daemon, waydroid)
- Kernel modules or deep OS integration
Keep the host minimal. Do all development inside Distrobox containers:
- Install BoxBuddy from the app store (GUI for managing Distrobox)
- Create a dev container with:
- Init system enabled (for better compatibility)
- Separate home directory (e.g.,
~/Distrobox/dev)
- Install your toolchains inside (Node, Python, Rust, etc.)
- Export apps to your host launcher when needed
Multiple containers recommended: Separate boxes for web, mobile, or game development to avoid dependency conflicts.
Using Dev Containers? If you need Podman inside a distrobox, create ~/.local/bin/podman:
#!/bin/bash
distrobox-host-exec podman "$@"This reuses the host's Podman instead of nesting containers.
Install Bottles from the app store for Wine-based Windows app support. Handles games, productivity software, and modding tools without touching your base system.
For ROG laptops (without kernel modules):
# Add repository
sudo dnf copr enable lukenukem/asus-linux
# Layer control software
sudo rpm-ostree override remove tuned-ppd \
--install=asusctl \
--install=asusctl-rog-gui \
--install=power-profiles-daemon \
--install=supergfxctl
rebootQuick Reference:
- App → Flatpak
- CLI → Homebrew
- Dev environment → Distrobox
- System/Hardware →
rpm-ostree install