Looking for a modern, usable Linux OS preferably immutable
Looking for a modern, usable Linux OS preferably immutable
I have been trying some of the immutable linux OSes because from what I understand they are more modern and feature better security and reliability. What I have found so far is shocking. Half of these don't support my laptop (probably because it's nvidia optimus). Some I tried like guix were very difficult to install, configure, and use with sprase documentation. Good luck trying to use KDE, wayland, or pipewire for example. BlendOS was notably better and could at least run on my laptop but chocked with nvidia driver issues.
I have switched to pop os on my laptop for now but looking at alternatives and what to install on my desktop.
Have you tried NixOS? I recommend that over guix.
I was told it's very difficult and has bad documentation. Funnily enough that's exactly the experience I have had with guix.
Compared to guix NixOS is significantly ahead. "difficult" is to each their own. For me, NixOS is the easiest to do certain things. But those things are what i use a computer for and might not match what you do.
As for docs - nothing beats Arch :)
It has terrible documentation, no doubt about it. However, depending on your setup requirements, the installation procedure can be quite acceptable. It should finally have a graphical installer.
If you're not doing anything complicated like programming, hosting your own services, or planning on using rare software that you yourself have to package, it can be a very low maintenance OS.
My single biggest tip: before installing something, check if it has an "option"
For example, if you want to use KDE as your desktop environment, you need the
services.xserver.desktopManager.plasma5.enable
option. Use the option search. It's often easier than listing the individual packages manually and writing their configuration manually.The reason for this is that nixos doesn't have "meta" packages. Those are packages that just contain other packages. Most package only has the absolute minimum it needs to be built - not run. The KDE desktop environment requires many packages to run.
Additionally, package configuration normally happens outside of the package in a declarative manner. You don't write
/etc/network.d/111_startup.sh
. That's either in an optionenvironment.etc"network.d/111_startup.sh"
or (making this up)networking.startupScripts
which puts a value in toenvironment.etc"network.d/{script.name}
.Do no be afraid to ask for help. The nix community is aware of the documentation disaster it has on its hands.
Yes, the nix foundation is slow and doesn't have its own wiki - no idea why.