35 lines
1.6 KiB
Markdown
35 lines
1.6 KiB
Markdown
|
# 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, isn’t
|
|||
|
it?
|
|||
|
|
|||
|
Now, why don’t I use this distro? Well, again, I miss the AUR and I
|
|||
|
don’t find its syntax (which is a DSL made for this use-case
|
|||
|
precisely) particularly appealing, but I know a lot of people don’t
|
|||
|
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 system’s `$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 isn’t 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)
|