This is an automated archive made by the Lemmit Bot.
The original was posted on /r/fedora by /u/DiscoDave86 on 2025-05-08 14:48:30+00:00.
I consider myself fortunate to be able to run Linux as a daily driver for both work and play. Having previously used Ubuntu, Arch, and other non-atomic distributions, I've settled on Fedora Kinoite and thought I’d share some of my experience:
Mindset Change
When I first tried an atomic distro (Silverblue), I didn’t really gel with it. At the time, I didn’t fully appreciate Flatpaks—partly because of some bad experiences with Ubuntu’s Snap packages. I’d also been using traditional package managers for years and was very accustomed to that workflow.
After some perseverance, I began to appreciate how Flatpaks operate and how clean and minimal I could keep my base operating system.
Embracing Container-Driven Development
I regularly switch between writing YAML manifests, Go code, JSON parsing, Bash scripts, C code, Ansible, and more. Combining VS Code and Podman via DevContainers has been a huge plus. It aligns well with the philosophy of atomic distributions: isolated, sandboxed environments tailored for specific purposes.
If I need to switch versions of Go, Ansible, etc., I can just change the container image spec. That’s when I really started to appreciate how I should be using an atomic distro.
For applications (e.g., VS Code, VLC, Spotify), I generally follow this order to decide how they get installed:
- Flatpak
- Within a toolbox container
- Layered on the host
Key Positives
- Straightforward upgrades: I've gone from Fedora 40 → 41 → 42 using a rebase, and the process was very smooth.
- Straightforward rollbacks: I haven’t needed to do this yet, but it’s as simple as booting into the previous image.
- Improved Flatpak ecosystem: Flatpak apps have improved significantly in recent years.
Drawbacks
- Slower layering process: When layering is needed (i.e., adding packages directly to the OS), the process is slower compared to a simple
dnf install -y <package>
.
- Reboot required: Layered packages require a reboot to take effect.