this is basically the "write all the software one might potentially need, better, with documentation, and a single configuration language" shtick of OpenBSD but with every piece of software out there and centralized config #NixOS
pros: you don't have to rewrite every single piece of software, you can version the config easily, it's easy to extend to any other piece of software
cons: you don't get the benefits of well-written software that OpenBSD has, you don't get docs for the software itself #NixOS
pros: you don't have to learn anything about the underlying software, you can abstract it completely. who cares what your http server is, you can just configure it with httpd.[settings]
cons: if it's not perfectly integrated it's shit :/ #NixOS
cons: you only get good docs for the way NixOS packages and configures the software, not for the way the software works. It's still a Linux system :/
pros: you don't need a gigantic team and years of work to make it work #NixOS
@wxcafe Not only JSON'ish key-value records and lists, and let-ins, there are also anonymous functions, "aptly" named ":"… which are heavily used throughout the system (here arguments are on the left and the body is on the right of the colon).
There's also Guix(SD), which is superior to Nix(OS) in many regards, but it likely won't appeal as much to *BSD folks.
And also, NixOS and Nixpkgs are not the same thing, the latter may be installed on Darwin or, theoretically, *BSD.