So I’ve been really interested in immutable OS’s since Silverblue, kept jumping off and on again as I hit what I thought were brick walls. I was just not approaching them properly.
I’ve been using Bluefin for work for the last 6 months and started making distrobox containers for projects. One thing I always ended up with was a load of mess with pip or NPM, so the idea I can just jump into a container for that specific project was really appealing.
But it never occurred to me, I can do this for everything, I know this is something that has been done before, but I’ve just stumbled on it. I made a distrobox container using boxbuddy that used the arch-bazzite-gnome image, called it arch-gaming. This has given me a containerised gaming setup that runs like arch native. I can just chuck all my gaming stuff through that and box buddy auto exports the icons into the app menu, so the GUI side of things is sorted. As it’s bazzite the nvidia drivers and steam are all ready to go I installed lutris that was it.
The added bonus of bluefin is that I don’t need rpm-ostree for anything, languages are handled by brew, apps with flatpak, and now the aur for anything niche or apps I want to use in a more traditional setting.
I now have a portable, reproducible system that should be pretty robust.
Yeah - this is very strange to me since it seems like that’s the bigger issue. Everything outside of $HOME is managed by a package manager of sorts. But all the stuff in $HOME is where the mess happens. distrobox does let you set an alternative home dir which is good. It seems like they should at least specify a separate XDG_CONFIG_HOME by default - then I could use my login scripts but application configs (for well-behaved applications at least) would be separated.