Don't MacOS and Unixes have the equivalent of registry hell with a million configuration files hidden away in /etc/ or /usr/ or wherever, and then having to check where environment variables are set and so on? Ideally, almost all of a program's configuration settings would be stored in the same folder as the program, readily discoverable, and you could just pick these things up and move them easily, but in practice, it seems to be a pain everywhere.

NixOS and Guix come close to this with a central spot for declaring the entire system state, including program configuration and env vars. Now there is still the $HOME/.config mess, which home-manager[0] tries to tackle.

[0] https://github.com/nix-community/home-manager