The Purely Functional Linux Distribution
Ranked in these QuestionsQuestion Ranking
Pro Has docker like system built in
Pro Upgrading the system is extremely reliable
Since NixOS stores all its packages in isolation from each other in
/nix/store and because of the declarative configuration model, upgrading NoxOS systems is extremely reliable. Furthermore, it gives you the ability to roll back upgrades.
Pro Extremely reproducible state of installation
Every package in your system is generated from a configuration file. This makes it very easy to reproduce that environment. Just copy the config file into a new machine and it's done.
Pro Great for Haskell development
It has all of hackage in it's package manager (which is confusingly named "nix" as well) due to being based around hashing and allowing you to compile in a sort of virtual machine (really just changing the PATH variable temporarily) it solves many of the versioning problems that you commonly have with cabal. Here's a tutorial (there's many others as well) http://www.cse.chalmers.se/~bernardy/nix.html.
Also I should note that you can use the package manager a la carte on Mac and most any linux distro.
Con The configuration language is hard to figure out
For good reason. It's a purely functional language. However not even close to bash.