Just because I’m interested in the hole NixOS thing, I was wondering how much difference there is between NixOS and Guix, I know I’ve spun both up in a VM and while they are similar, Guix is different enough that I can’t find the main config file. So can someone give me a quick description of the difference?
Guix is NIx but its configured in Lisp.
Check out c/nix@programming.dev (link) for more, btw
Damn, all this nix hype has me wanting to jump off of my Kinoite install. Maybe it’s time to dust off my old nix config I’ve tucked away. Found a new Youtube sub too. Thanks OP!
tip: you should create relative links to communities so that people aren’t torn from their instance when following, like so
Clicking this crashes jerboa 🧐
Sorry I don’t have jerboa so I can’t test this myself, but definitely let the dev know! I’m sure they would appreciate the bug report.
How is NixOS better than Linux Mint?
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.
-