Fedoras version uses rpm-ostree which is actually controlled and all that git stuff.
rpm-ostree has a lot more potential that is unused though.
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
Fedoras version uses rpm-ostree which is actually controlled and all that git stuff.
rpm-ostree has a lot more potential that is unused though.
If you're using gnome/kde, I see no reason not to run immutable, the advantages of not being immutable are that you can piece together your system, if you're running i3/sway/whatever, being able to choose your panel, your launcher, etc actually has value.
The advantages of immutable are that you'll never end up with a broken system, you can easily roll back to a not broken one if something does break, and the system is separate from your apps.
I tried Silverblue for about an hour. Got pretty sick of "Changes queued for next boot. Run 'systemctl reboot' to start a reboot" real quick. I don't see how this is an improvement.
You should be installing software with stuff like flatpak, toolbox or distrobox. If you treat the immutable image as a mutable one there really isn't an improvement except for less of a chance of instability of updating/changing software that's running in memory already.
Git? Vim? Fdupes? A dozen other cli applications I install?
Are you saying you can't use toolbox or distrobox for that?
So the solution to my problem is to create a container for a non-immutable distro?
Yeah those don't go on your host they go in containers.
So I use non-immutable distros in containers to make up for the failings of the immutable host OS?
You know you can apply live, I do it for when pretty much anything except a kernel update is queued, works fine even if it warns you when you do it
I'm pretty much immutable across the board on all of my servers and workstations (laptop included). Most my servers are openSUSE Leap Micro and MicroOS. Run MicroOS on the desktop side as well.
Honestly ....haven't had any issues and the maintenance of it is fairly hands off. Few of mine are k8s nodes so that combined with the reboot mgr + transactional-update has been awesome. I spend less time maintaining my homelabs / desktops and eases my focus in just getting work done.
I've only had to roll back a couple of times (mainly self-inflicted), so it's nice having that capability. A lot of this though can be accomplished in a non-immutable world as well.
A note on "MicroOS on the desktop": The Gnome variant is called OpenSUSE Aeon and the KDE variant OpenSUSE Kalpa. MicroOS branding is used only for server use due the confusing names. Quoting from https://news.opensuse.org/2023/05/31/microos-desktop-has-new-name/
Simply put? The microOS product namespace is getting crowded. And this is leading to a certain amount of confusion, and causing some support issues. At present, amongst the microOS “family” offered are: Server Products openSUSE MicroOS openSUSE Leap Micro SUSE Linux Enterprise Micro Desktop Products openSUSE MicroOS Desktop GNOME openSUSE MicroOS Desktop Plasma And I think we can all agree, when somebody joins a support forum of some sort, be it Matrix/Telegram/forums/IRC/etc, and says “I’m running microOS and I have a problem” then the inevitable question of “Which MicroOS?” has to be asked. And by their very nature, the Desktop offerings are quite different beasts, than the server offerings, and have quite different support needs. And typing out “openSUSE MicroOS Desktop GNOME” is just too darn long, every time you want to tell somebody what’s running on your machine.
I recently made a post here just for that case! :D https://feddit.de/post/8234416
Better resources usage when running all the apps as Flatpaks. Once you hit the close button, the zygote is killed, and you’re sure that web browser doesn’t run anything stupid in the background anymore.
Wait really? I had no idea flatpaks ran better on immutable systems
No, I think they meant that you get better resource usage when you install an app as a Flatpak instead of a system package. You get the same benefit in a traditional distro too, if you use Flatpaks, it's just that immutable distros kind of force you to use them.
I am using Fedora Kinoite and it has been incredibly stable. I like that I can always rollback to a previous state if an update breaks something. This was a huge issue for me a couple of years ago and I stopped using Linux for quite some time because of that. I haven't had to roll back anything yet but without that feature I wouldn't even consider making a Linux distro my daily driver. Installing software is for the most part pretty easy if you are happy using flatpak applications and toolbox. I like that all the packages that I need for my work or for messing around stay in the toolbox container and won't affect the stability of my system. The only thing I find a bit annoying is that you have to reboot to apply updates. For me, going back to a 'mutable' distro is out of the question.
If you want to tinker with the system, if you want to install multiple DEs, if you want to test and change things on your own, you may not like the rigidity of atomic systems.
If you don't want to tinker with your system and you always want to have a working system, go for it.
In the future it will become easier to tinker with the system (I hope that it doesn't take the path of android). I hope that more happens within containers and that it mature even more. Maybe the de within a distrobox? That would be awesome but I don't no the downside of it.
Right now you are still an early adopter. It sounds like the future and for many it will be, but who know what's next. Especially companies have an interest in fedora's atomic distros with ostree.
Hard to break, and Bazzite.
In order to avoid headaches I wouldn't use one today. Instead I'd use a stable OS like Debian Stable or Ubuntu LTS, and use an immutable systems to get applications that are too old in the main repos. For example via Flatpak, Snap and Docker. Stable OSes eliminate most of the non-user caused breakage. The remainder is learning to not break it yourself, which isn't horribly difficult. Once Debian or Ubuntu release an immutable desktop OS, I'd try it.
Debian stable broke for everyone literally a week ago. :/
Been using nixos for a couple months now. It's nice and I really enjoy having all my configuration in one place and able to be version controlled. The down side being installing and configuring things take a bit more time to read how nix does it. I have it on a laptop that I've been playing with and removed it and put rocky for something else but I am 100% confident I can go right back to the way i had it.
So far the cons I'm seeing is installing vscode plugins are a little annoying and setting up to do python development on existing projects not very easy.
Bazzite right now. I only use my PC for gaming and get limited play time, so I usually wake it up and straight into a game. Bazzite has worked extremely well for me to achieve that with virtually no maintenance so far (updates are automated).
I'm using Bluefin right now, but I was using bazzite before that. I'd say the biggest benefit is that it's hard to break permanently. Sure, you can still mess up your home directory pretty bad, but system level stuff is nice and stable. The biggest problem is compatability and software instalation. Flatpak and toolbox/distrobox are nowhere near as good as the documentation makes them out to be. I'd suggest making sure you select a distribution with Nix pre-installed so it's still possible to install stuff.
(Edit: There is apparently a workaround for the following issue, though I have not tried if yet.) Just be aware that some things are just plain impossible with atomic distos, and you can't change it. Like the login screen. You can't change that at all, whether it's the background or the default zoom level. It's part of the system packages and can't be fixed.
The part about changing the login screen seems to be not entirely true. There is also this tool that claims to be able to generate rpm from sddm themes that you then can layer onto your system image. Take this with a grain of salt though, as I haven't tried either method because I honestly don't care how my login screen looks.
I've been trying Bazzite out for a few days, and it's really neat. Coming from a standard distro, I like the idea that I can install pretty much anything with the combo of Flatpak, AppImages, and Distrobox. I was unable to install DaVinci Resolve on the Fedora Distrobox however, and the lack of Snaps - although I much prefer Flatpaks or AppImages - kinda sucks because it would be nice to have the Snap for Flutter...
I don't like saying it but: Snap within a distrobox?
I've heard (but not been able to verify) that it's less secure, somehow. Although I would imagine the containerization would, somehow, mitigate this.