Actually, as a natural tinkerer, what I call the "NixOS seatbelts" (being able to pick any of the last N updates via GRUB to boot into) have saved me numerous times already. I no longer feel comfortable using any other Linux distro. The declarative config and per-project dev environments are cake as well (once you get past the Nix language, which is basically just "JSON-like, plus pure functions")
I would much rather just version my nginx config written in nginx config, and let Nix pull that up, or something like that. Then you get all the benefits of Nix (I think?) but my configuration is also readable for someone who doesn't know Nix. Plus I can use my existing knowledge (as well as the wealth of online available docs), instead of something obscure.
That being said, most services have an option to use verbatim configuration files[0] or fragments[1][2][3].
[0]: https://search.nixos.org/options?show=services.yggdrasil.con... [1]: https://search.nixos.org/options?show=services.nginx.config [2]: https://search.nixos.org/options?show=services.bind.extraCon... [3]: https://search.nixos.org/options?show=services.nginx.appendC...
This might sound glib, but it's a great idea for a simple workaround for users who want to use some other system to template their config files. Wouldn't take much boilerplate at all.
[0]: https://github.com/NixOS/nixpkgs/blob/nixos-22.11/nixos/modu...