Thanks!
It's split up into multiple files, but even the total combination is not that much. If you let Nix take over your system (ie. NixOS) it moves out from underneath you in a completely reproduceable and revertable way so you can almost always just... run the equivalent of a dist-upgrade daily and get on with your life because you're 1 command away from undoing it all.
You'll obviously have more the more you customize things, but for the most part its services.<service>.enabled = true;. The defaults are usually good enough IME.
The “programming language” part is basically an untyped ML: function application doesn’t need any parentheses or commas between arguments
It would be a lot better if you could effectively trace your config like a program with debug breakpoints, but I’ve not found that to exist.
I look forward to Nickel integration and never touching Nix again tbh.