I really don't think that the Nix language is nearly as bad as people say it is once you get used to it, and I've been using NixOS since before ChatGPT was released so I've gotten pretty ok with it. Plus, there are niceties like being able to use variables for things like interface names which makes it pretty nice.
Also, something kind of nice about NixOS is that once you get it working, it kind of stays working. I have my config file backed up to Sourcehut, and I'm relatively confident that the configuration file is an accurate representation of reality.