this post was submitted on 20 Jun 2023
26 points (96.4% liked)
Linux
48684 readers
335 users here now
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.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
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.