Bluefin Developer Mode#
Developer Mode (bluefin-dx) is Bluefin's opt-in developer experience layer. It adds cloud-native tooling — Docker Engine, Podman Desktop, devcontainer support, virtualization, and performance profiling tools — on top of the base Bluefin image . The philosophy is explicit OS/tooling separation: development happens in containers, VMs, or user-space (Homebrew), not via host packages.
Architecture note: There is no longer a separate
-dxOCI image that users rebase into. Developer mode is activated in-place viaujust devmode— a wizard that installs tooling and configures group membership without an image switch.
Enabling Developer Mode#
| Step | Command | Notes |
|---|---|---|
| 1. Toggle on/off | ujust devmode | Launches interactive setup wizard; reboot required |
| 2. Join groups | ujust dx-group | Adds user to docker, incus-admin, libvirt, dialout — one-time only |
Bluefin LTS users skip Step 2 — group membership is handled automatically.
ujust toggle-devmode is a maintained alias for ujust devmode.
Note: On the current in-place wizard (
bctl-based), group membership may be handled during the wizard run itself, making Step 2 unnecessary. The two-step process applies to systems withoutbctlinstalled.
How the wizard works#
When bctl (bluefinctl) is installed (default on current images), ujust devmode delegates to bctl --screen developer for a richer TUI. On systems without bctl, it falls back to an interactive gum choose UI.
The wizard:
- Presents tool groups (Docker, Podman, Virtualization, IDE, CLI Editors) as a selection screen
- Writes a
~/.config/bluefin/devmodemarker to detect re-runs - Manages group membership via
pkexecin a single pass — no need for a separateujust dx-groupinvocation post-wizard
What's Included#
| Category | Tools |
|---|---|
| Container runtimes | Docker Engine (default for VS Code), Podman + Podman Desktop |
| IDEs | VS Code with devcontainers extension pre-installed |
| Virtualization | virt-manager, KVM/QEMU, Incus (not on LTS) |
| Performance | Sysprof, bcc, bpftrace, iproute2, nicstat, sysstat, tiptop, trace-cmd |
| Pet containers | Distrobox-backed Ubuntu, Fedora, Wolfi environments |
| Terminal | Ptyxis (with built-in container integration) |
Full feature reference: docs.projectbluefin.io/bluefin-dx
Optional installs:
ujust jetbrains-toolbox— JetBrains Toolbox (manages IDEs in$HOME, independent of image)ujust bbrew→k8s-tools— Kubernetes toolset (kubectl, helm, k9s, kind, etc.)ujust cncf— browser/installer for 89 CNCF projects
Dakota and the -dx Image Removal#
Dakota (the Bluefin build stream) previously had a devmode override that attempted to rebase to a ghcr.io/projectbluefin/dakota-dx:latest image — which was never published. This caused ujust devmode to fail with a 403 Forbidden error on Dakota systems.
The override was removed in dakota#1028 (June 2026). Dakota is developer-experience-on by default and delegates to common's in-place wizard.
Legacy Migration Paths#
ublue-os → projectbluefin (LTS users)#
Users on the old ghcr.io/ublue-os/bluefin-lts or bluefin-dx images are migrated automatically via a systemd service shipped in the last weekly build of the old image. The service runs bootc switch non-destructively and leaves an MOTD notice for the next reboot.
| Old image | New image | Post-reboot action |
|---|---|---|
bluefin-gdx:lts* | bluefin-lts-nvidia:stable | Run ujust devmode |
bluefin-dx:lts* | bluefin-lts:stable | Run ujust devmode |
bluefin-dx:lts-hwe* | bluefin-lts:stable | Run ujust devmode |
bluefin:lts* | bluefin-lts:stable | — |
| arm64 | No switch (MOTD only) | Reinstall required |
Former -dx users land on the base bluefin-lts:stable image and re-enable developer mode with ujust devmode after the first reboot — the MOTD includes this reminder.
Manual switch#
sudo bootc switch ghcr.io/projectbluefin/bluefin-lts:lts --enforce-container-sigpolicy
Note: Rebasing between the Fedora-based Bluefin and the CentOS-based Bluefin LTS families is not a supported upgrade path — treat those as fresh installs.
Key Source References#
| Resource | Link |
|---|---|
| Developer mode documentation | docs.projectbluefin.io/bluefin-dx |
toggle-devmode rewrite (in-place wizard) | common#545 |
bctl delegation wiring | common#730 |
Dakota -dx override removal | dakota#1028 |
| LTS migration variant mapping | Bootc Image Migration KB |