I never really understood Bazzite's immutable fs thing. Can one install standard dev stuff (i.e. compilers, ides, etc) easily under bazzite?
This use case is the main reason why I lean towards maybe using cachyos
I never really understood Bazzite's immutable fs thing. Can one install standard dev stuff (i.e. compilers, ides, etc) easily under bazzite?
This use case is the main reason why I lean towards maybe using cachyos
- IDEs are no problem. Editors will "just work" for anything you type into the app store - Bazzite handles the special cases for you and installs them through brew taps or Flatpaks.
- For development it's basically just like a Mac where you also can't install system-level packages: Node, Python etc work through brew / nvm / uv same as on Mac. Development that involves containers will be unchanged from a Mac. For compilers specifically, same as on Mac: Install it through brew, or if you need a Debian or Fedora base you do `distrobox create` and you can apt-install in a transparent podman container.
Immutable filesystem-based operating systems became fairly widely used as the "base" system for Kubernetes nodes. Because on a container-focused system, you never need to touch the rootfs.
This started as a project called CoreOS[2], which was eventually acquired by Red Hat for its OpenShift (Red Hat Kubernetes) platform.
On servers, immutable rootfs makes a lot of sense. Silverblue (et. al.) was an attempt to see if that concept translated to Desktop systems well. Reviews are mixed. Some people swear it's the best thing since bread. Other people claim it's worse than having dental work done.
I'm personally somewhere in the middle. I think the concept is good, but if you want to do anything to change the core system, like installing custom video drivers, it quickly becomes a pain. I like to equate it to the "n00b"-OS. People who "just want the damn computer to work", immutable is great, because neither they nor an application can do anything to really break the system. On the other hand, it really limits (without complex work-arounds that other systems don't need) what "power users" can do.
In "the perfect immutable OS world", you would never directly install any application; instead, you run everything in a container (i.e., Flatpak). So you have layers of protection: an immutable root and a container-based permission system; the worst* thing an application could do is blow up your home directory. But if you manage permissions correctly, the most damaging thing would be an application blowing up only itself.
[1] https://fedoraproject.org/atomic-desktops/silverblue/
[2] https://www.redhat.com/en/technologies/cloud-computing/opens...
(obviously you can modify the filesystem if you really really really want to).
Bazzite is gaming oriented version of Fedora CoreOs. There are many different versions. I am running bluefin.
I've tried a lot of desktop linux distros, and to be honest, immutable linux feels like the future. Anything you do can simply be rolled back. Break something? Just roll it back.
And if you run something like Bazzite, but want to try out Bluefin-Dx which is developer oriented, then you can rebase your existing installation. If you don't like it, just revert back to Bazzite with a single command.
However, it's desktop oriented. Don't run CoreOs on a server.
You can if you're going to target /usr/local, which should be where make install installs if it's following the FHS correctly.
Why not, this kind of management seems ideal, A/B safe testing for boot.
Lots of containers to go around these days, people are familiar with them and how they work, seems like an obvious sane choice.
Huh?? I think you meant something other than CoreOS there.
So I'm using Nobara instead. It's a different Fedora-for-gaming but has most of the same improvements. It is a traditional system, not immutable. CachyOS is also very popular and that gets you an Arch-for-gaming. Just yesterday I learned of PikaOS, a Debian-for-gaming.
The main thing all these gaming-customized systems are doing is getting graphics drivers and proprietary codecs installed for you easily.
Requires a different way of working with projects though, so understandable if that's not your thing.
Sometimes it feels like I'm just being asked to install a real linux distro inside my linux distro so I can actually do things. Here's you nice shiny desktop and app store! Oh you want to do more than browse the web? Better install linux again in a VM.
Maybe i'm just stuck in legacy paradigms, but I kind of like just booting IntelliJ and picking the project i'm on today.
Or sometimes I want to move stuff between projects i'm working on, that's a lot easier if my one IDE instance can hit them all at the same time.
There is also a risk that the person may be malicious from the start, sell out, or simply get malware. Given the nature of the ecosystem a malicious release to a previously safe package could propagate incredibly quickly.
Where there are multiple steps for a package to get from developers machine to yours and each is slow enough for malicious behavior to be noticed each step adds friction and decreases the chance of ultimate success. Where all steps are nearly simultaneous your risk multiplies with each step in which a different person has their hands in it and if any of them are malicious or compromised you are screwed.
I disagree. Immutable distros are great for developers, you set your dev env up in a container environment and when it goes pear shape you can just tear it down and start again without needing to worry about leaving a mess on your host OS.
For example i just need docker for webdev and there is bazzite-dx basically bazzite with docker and few things added. Works pretty great, sometimes when something goes bad i rollback the image and wait for future version.
https://docs.bazzite.gg/Installing_and_Managing_Software/rpm...
Outside of that there are commands to install packages directly and some things must be installed that way.
You can also use fedora toolboxes to create containers mounted on your home folder, though it is clunky.