links/src/Linux/distros/NixOS.md

35 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# NixOS
I know some people, myself included, love to tinker with files that
dictate how their system is configured. What if I told you it is
possible to configure your ***whole system***, services, users, and
packages included among other things, through a single file? (Or
several through file inclusion)
Well, NixOS does exactly that! And not only that, when you upgrade
your system, a snapshot of your current system is taken so you can go
back to it if your upgrade goes wrong for some reason. Awesome, isnt
it?
Now, why dont I use this distro? Well, again, I miss the AUR and I
dont find its syntax (which is a DSL made for this use-case
precisely) particularly appealing, but I know a lot of people dont
mind this and actually like it. Also, I appreciate the separation
between the system-level configuration and the user-level
configuration, in case a user wants an additional package not included
by the system for instance, or to set their `$PATH` to the desired
value without tampering with the systems `$PATH`. You can even create
custom environment you can enter and exit if you need for instance a
precise version of Python for a certain project which is not the
default one installed on your system.
Once again, this isnt a distribution that targets Linux newcomers
since you need to get your hands dirty to maintain your system.
Be aware there is a difference between Nix, the package manager, and
NixOS. Nix can be installed on a lot of systems, pretty much every
Linux ones but also on macOS(!), while NixOS is the Linux distribution
based on Nix itself.
* [Homepage](https://nixos.org/)
* [Download](https://nixos.org/download)