Hi everyone!
I’ve been working on a tool to simplify development workflows on immutable systems like Bazzite, where setting up dev environments can quickly become messy and time-consuming.
I wanted to share it here to get some feedback from people who are actually using these setups.
Repo here.
Here is a quick showcase (from the README):

1. The Problem: Dev Environments feel “unnatural” on Immutable Systems
When I switched to Bazzite, I ran into a pretty frustrating reality:
You can’t just install toolchains the “normal Linux way”.
Instead, you end up juggling:
- Distrobox containers
- Toolchains inside those containers
- VS Code DevContainers
- Storage issues (especially on smaller SSDs / handhelds)
For me, this turned into a fragile, time-consuming setup process — especially when working with Python/AI tooling.
2. What I built: A native Dev Environment Orchestrator
Bazzite Architect is a Tauri (Rust) desktop app that orchestrates:
- Podman (rootless)
- Distrobox environments
- VS Code DevContainers
The goal is simple:
Turn environment setup into a reproducible, one-click workflow
Example:
- Select a stack (Python, React, Rust, etc.)
- The app creates and bootstraps a Distrobox environment
- Installs required tooling
- Opens VS Code directly inside the environment
In practice, this brings setup time down to ~45 seconds for a full working environment
3. Key Idea: Manifest-driven Environments
Instead of manually maintaining environments, the system uses a declarative:
.bazzite-architect.json
This acts as a single source of truth, keeping:
- Distrobox environments
- DevContainer state
in sync and preventing drift.
4. Storage Problem (Handhelds / small SSDs)
One very real issue on Bazzite:
Rootless Podman storage fills up the system partition fast.
The app includes a guided storage relocation feature:
- Moves GraphRoot safely to another drive (SD / secondary SSD)
- Keeps the immutable base system clean
- Avoids manual Podman config hacks
5. Why I built this
This came out of a real problem:
Coming from a React/TS background, I tried moving AI workflows (OpenCV, ResNet training) to Bazzite — and hit a wall.
- Python setups broke
- Conda environments didn’t integrate well
- Toolchains felt disconnected from VS Code
I ended up in what I’d honestly call a “nightmare setup”
So I started building a tool that makes this feel native instead of hacked together.
6. Current Scope
Right now the project supports:
- Python
- Node / React
- Rust
- Java
- C / C++
with automatic scaffolding + VS Code integration.
7. Looking for Feedback
I’d really appreciate input from people using Bazzite / Universal Blue:
- Does this solve a real pain point for you?
- How are you currently handling dev environments?
- Would you actually use something like this?
Appreciate any feedback, especially critical perspectives!