I finally got around to installing and trying NixOS, and it is pretty special. What’s really interesting is that it’s not your normal Linux distribution as it’s immutable with atomic updates, and the main way to install apps is to edit the one NixOS config file listing the apps you want and issuing the rebuild command (great for new install and replicating a system). And this one config file is also where you setup your system like adding VPNs, changing the shell… And it’s a declarative operating system which appeals to programmers and makes a lot of things easier to setup with isolation of applications and dependencies in a way similar to BSD Unix. Where this really excels is for development environments for teams as well as corporate workstations, and I’m interested to look at it from a server perspective. Expect a learning curve, but as I got into it, many aspects of system configuration are actually easier to deal with than normal Linux package managers and individual application configuration files. Setting up OpenVPN was really easy, especially suppressing DNS leaks compared to normal Linux systems. And it works well in VMware Player with 3D acceleration, or they have a VirtualBox appliance version you can download without having to go through the install process. So if for nothing else, NixOS is worth a look just to see how different it is from a normal GNU/Linux distribution and how that might appeal to you for many use cases.
Some reasons you might not want to use NixOS, which is actually a good list, and just some things to be aware of if you take the plunge. And it’s recommended to play with NixOS in a VM to start, and if you feel comfortable in setting up everything you need, then move to bare metal.