What are the pros and cons for desktops ? EDIT : Thanks all. I’ll try Silverblue, bazzite and more.
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.
The only benefit for a normal desktop user, who never plans to write code (or deploy stuff on multiple PCs) is that immutability makes updates far safer and easier.
However this is the single largest weakness the Linux desktop has. Everyone can use a linux computer, maintenance though is always a problem. No one has succeeded at making a regular distribution that never needs command line intervention and a degree of knowhow to unbreak. (not counting Chrome OS) Maybe someday soon we’ll have an immutable distribution that’s truly just install and forget. (with good DE options like the new cosmic or even a carefully put together Hyprland rice)
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.
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 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.
I use Fedora Silverblue and I love that my system is exactly the default out of the box distro, with just a couple diffs that are tracked in rom-ostree.
I’ve had frustrations in the past where I install packages to try something, then remove them and forever have something hanging around. Eventually one of those things inevitably breaks an upgrade or dependency resolve.
Installing apps as flatpacks is fine. I don’t love the duplication of system files, but do love that the apps aren’t tied to my distro version.
I also like that all updates happen silently in the background and I just reboot once a week or so. Never think about it.
I feel like the Fedora Atomic distros are great for people who mostly just want a working system and not to tinker endlessly. You can tinker, but it isn’t the default and it’s basically impossible to get into a bad state permanently.
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.
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.
Atomic desktops make all of that way easier though
How?
Because all changes are transactional so you can easily revert to a previous system state if you break anything
I have been trying to understand this for a minute and I can’t seem to understand why you would use it on a personal workstation.
Like it makes sense for servers, and for deploying accross multiple systems in a corporate or public setting, but beyond that it seems like it is just adding unnecessary steps if you try to use it on your personal rig.
Maybe I’ll need to just give in and try it for a week to a month to see the appeal
It’s much harder to break if you’re prone to tinker. And there’s no configuration drift that naturally accumulates over time as you tweak a system, so it always runs like a fresh new installation.
I have learned much more on immutable OS because I’m no longer afraid to tinker around and try new things. I play in distrobox and can completely nuke the container without affecting my whole system.