Head to https://squarespace.com/thelinuxexperiment to save 10% off your first purchase of a website or domain using code thelinuxexperiment Grab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en# π SUPPORT THE CHANNEL: Get access to a weekly podcast, vote on the next t...
Personally I'm not super into the idea of immutable Distros, they kind of feel like Phone or Game console operating systems due to being read-only and containerized.
I prefer being able to change stuff without it being overwritten in the next update which is one of my many complaints with the steam deck and it's immutable OS, the system is locked to read-only and even if you unlock it it'll get relocked and all your changes undone at the next update.
Well on my SteamDeck I wanted to install Portmaster for Adblocking and network filtering, and also wine because running Windows apps with a click on the Desktop > Opening Bottles and setting each one up before, Also wanted to switch KDE for Gnome because KDE sucks on a touch screen big time where Gnome is much more touch friendly. Also wanted to install neofetch as well but just ran it as a script to get what I needed.
Yes I can disable the read-only and do it all anyway, it's not really locked down but because SteamOS doesn't respect or honor changes they'll just undo it whenever I update.
I mean that steam os is built for casual users that want to play. For using it as a desktop os, it's not so great, exactly because it's immutable and it is configured weirdly
Interesting choice of DE for casual users on a touch screen device, I kind of get that they're not going to be using Desktop mode so much but honestly they should've used something like Gnome that isn't going to be clunky and frustrating on a touch screen without a Mouse and Keyboard.
Fair enough, though Gnome does resemble mobile interfaces like the ones in Android (at least I think so, I'm going to get grilled for this aren't I?), which would make more sense in what essentially is a mobile device that should have mobile touch based navigation due to lack of physical keyboard and a proper mouse.
KDE may look like windows but it also functions way worse than Windows on a touch screen device, at least most windows devices have a keyboard and mouse but the SteamDeck requires you to use an external one, which may or may not be available.
The point is you don't need to change stuff. You tell the resulting state of the system, the system will generate that state for you.
You don't change some file somewhere, you change the pipewire settings in your configuration file and rebuild. You save your config to version control so you can recreate the exact copy of your system any time and on any computer by just letting it download the locked versions of all of the packages you have installed.
Well back when I didn't know any better and would go through linux installations because I would break things but also because many of the "recommended linux distros" had problems (f*** you Canonical forcing buggy snaps onto us) I might've thought it was an awesome idea. But now that I know better (both how to not break stuff + fix things if they're broken, and know when people are recommending glitchy trash) it just feels more restrictive. Kind of like a game console, android phone, or S mode. It's not necessarily as restrictive as those things because you can turn it off and do what you want but the updates to the OS will almost never respect the changes you make, as I know from SteamOS.
Because I want to Install portmaster or create services to launch my own scripts on Boot without them being purged blindly by an update (just like How on Game consoles System updates will remove installed homebrew) I'm not into the idea of using immutable systems that lock you out of changes you might want to do that aren't official.
Immutable systems do not "lock you out of changes you might want to do that aren't official", even if steamOS specifically does.
Microos and coreos both allow package layering client side. There is also features landing allowing "unlocking" the read-only filesystem.
More importantly, coreos now allows using Containerfile to customize the distro server side, and then all your computers can pull the same image (with all your hard work stored in the registry, and reapplied via the Containerfile and some cicd). It's certainly a very different and new workflow and there is a lack of tools user facing tools, but that is always the case with new tech.
The workflow I would sell you on is this:
"unlock" system (allowing non-persistent changes)
test everything works as you would like
apply same changes via Containerfile
Enjoy all your computers automatically updating to this and all your hard work being stored permanently in a registry.
This is a simplification and in practice currently a lot of things are hard to accomplish this way (say bootloader changes). But that is the "goal", and after running highly customized distros for a decade, I at least would love to be able to have all my changes in all my (present and future) computers without the hassle that brings currently
You can just describe the effect you want for your system. Most common cases are done for you in NixOS. Like configuration of packages, systemd services, etc. But you could write your own. I submitted a pull request for a service, and then made a half-assed fork of a GUI for the NUR.
Could I just used a different distro and just installed it? Sure, but now people use my package
I could have figured out how to set the iptables myself instead of using some software, but we're sharing solutions here so the next person can just write the package name and just use it.
You're creating your own ad-hoc solutions with different benefits and drawbacks.
Portmaster wants to download its own updates. They could just go the Firefox "managed by your organization" route if they wanted to
At least in coreos. rpm-ostree let's you "layer" packages on top of the base image, so when you install the next update it will automatically install your packages on top. You get to have the cake and eat it too.