NixOS and the Nix package manager offer a promising new approach to the challenge of managing packages in Linux.
In most Linux distributions, the files associated with the OS end up in specific places. Most Linux distributions subscribe to the filesystem hierarchy defined in the Linux Standards Base (LSB), which specifies the familiar directory names you are accustomed to if you work in Linux (
/bin, etc.). On most Linux systems, if you do not have the files in the right places, the applications will not find them. But experimentation is at the heart of Linux, and every rule has an exception. An innovative project called NixOS  takes a different approach to system configuration and package management.
On NixOS, all files are in the Nix store. For applications to find them, NixOS links to the correct locations with symlinks. This approach makes all kinds of things possible. For instance, you can have several versions of any library and let the application know which link to use. For development environments, you can even test an application using system files from different distributions, just using the package manager.
On a NixOS system, everything is reproducible. A good backup of your home directory and a few
*.nix files is all you need to get back up after a crash.
Use Express-Checkout link below to read the full article (PDF).