You make it sound as if it’s a religion … UNIX isn’t a dogma handed down by an infallible being, just a piece of software that made sense for its time. Todays needs are different than the needs 40 years ago, so ofc things have to change.
rocketeer8015
That 40 year old X protocol might be the issue here, use wayland for multi monitor with different resolutions.
So it’s people borking it and not the “system itself”. You have control over which people are involved in the software on your system ne it affects the likelihood of it ending up borked.
Nope, it doesn’t. It always requires human assistance or random hardware failure. It’s either the user, the distro, package maintainer or upstream fucking up.
Personally I blame half on users for picking the wrong distro(not suited for beginners) and half on the linux community giving poor advice(use the terminal). Not everyone has the time or inclination to become a power user and if people wouldn’t be so thickheaded and recommending the same problematic distros over and over to these people it wouldn’t be such a mess.
I have a 80 year old neighbour whose old windows laptop was a mess and who was open to trying a new OS(because he couldn’t operate windows either anyway). I setup a MicroOS system for him, put a taskbar extension on it and showed him how to install software from gnome-software(which only has flatpaks). ZERO problems in half a year. He doesn’t have to do anything nor learn anything. He happily installed some card games, reads the few websites he follows and that’s it.
They are very very different, much more so than say arch and mint are different. Listing what makes nix better than mint would be just a list of features mint is missing, wether these are relevant for you or not would decide if they make nix better. However there are some objective technical points that are just flat out better:
-
One config file describing your system. You change that file, you change the system. The system always is in the state described in that file.
-
Complex system changes that would require many steps are trivial since you only have to describe the outcome in your configuration file instead of how to get there. For example I can declare in the config file that I want a system using the current stable linux kernel with zen patches and Nvidia drivers that have 32 bit support.
-
Every update is a (seamless) reinstall. The entire system gets rebuilt as if it was a fresh install, sans your home directory and the settings you made ofc.
-
Concept of generations. Every time I change my config file or rebuilt my system(update) it is a new generation with its own entry in the bootloader. Btw, the config file also controls which bootloader your system uses, you can just say grub or systemd and nix takes care of the rest.
-
'nix-shell -p program' that little command will open a shell with the specified applications installed in it, after you close that shell the programs are gone. This is great for trying out apps without cluttering your system with their dependencies, or quickly using a app you know you won’t need permanently.
-
Choice between release based updates or bleeding edge rolling. Concept of generations does still apply, you can quickly try out the rolling release channel and if it doesn’t work out you can easily go back.
-
Trivial to change midstack applications. With midstack I mean things like cinnamon, gnome-shell or plasma base files. For example what if you wanted to switch from gnome to kde? A single word changed in the nix config file will rip out all of the gnome stack and put the plasma stack in instead. As if you never had gnome on your system, a reinstall for all intents and purposes. Again, trivial to change back.
That’s just some of the advantages of nix.
This was refuted long ago. Systemd isn’t a single binary file doing everything, it’s a project that has many different binaries doing many different things. The only difference is that they are developed under one project to ensure they integrate well with each other. What your doing is like complaining that glibc tries to do everything, I mean it does open, read, write, malloc, printf, getaddrinfo, dlopen, pthread_create, crypt, login, exit and more… Xorg would be another example of a project that does many things instead of one very well.