I wholeheartedly agree with this blog post. I believe someone on here yesterday was asking about config file locations and setting them manually. This is in the same vein. I can't tell you how many times a command line method for discovering the location of a config file would have saved me 30 minutes of googling.
It would be amazing yeah, standardising all user config files in the $HOME, and maybe etc/ or an default, non usable, user profile to store the original versions, in case of a bad config or corrupted file would save so much time debugging stuff.
The XDG Base Directory standard has kinda sorta been doing that; and I like it. Not everything supports it; and it's not perfect, but at least it's better than the wild west that application configs used to be.
Mixed. Many folks use home-manager to configure their user environment with nix, and you can specify config files there. However, escape hatches to use regular files not managed by nix exist to make config tweaking faster. You can specify your config file contents in nix, which works well for server deployments, but for desktop use it usually ends up being a mix of seldom-changed config going in the nix definitions, and other things that, say, revolve around GUI tools for config tweaking (eg KDE apps) continuing to do their own thing.
I haven't met one person who doesn't use home-manager.
Maybe that's because most people I talk to use tiling window managers and stuff like that, where you define everything in text files.