meanwhile, .bashrc, .bash_login, .bash_profile, .profile, /etc/profile, and /etc/environment all still exist, are poorly documented, and if you want a GUI for them, you have to build it yourself.
These files are all shell scripts and largely empty before distribution-specific customizations, there isn't much to document there. They are commands that you want to run in startup.
As opposed to the amazing Windows Registry? Those who throw stones ...
Nevertheless, your criticisms are fair. However, unlike on Windows, Linux is actually working on that. Distributions like NixOS and Fedora Silverblue are starting to take the whole "put everything under control" very seriously.
I've never had to set an environment variable in the windows registry. I'm talking about simply adding a directory to the Path or setting JAVA_HOME. Windows GUI needs tons of work but it's at least 20 years ahead of linux. It gets one year more ahead of linux every year.
As I said, poorly documented. In fact, there is no defensible reason why they all need to exist.
And I didn't understand anything you said after and including bourne shell. I don't know if Windows has any documentation for its environment variables program, but I have never needed documentation for it because it's not brain dead. It's a GUI. An interface which is self-documenting.
I have a GUI which has a checkbox for IPv4 and a checkbox for IPv6. Checkboxes are self-explanatory. And if I hover over them they say something like "Use servers reachable over IPv6 (do not enable if you don't have IPv6 connectivity)". And yes I didn't have to look up how to do that. It's staring me in the face every time I open the program.
https://www.gnu.org/software/bash/manual/bash.html#Bash-Star...
These files are all shell scripts and largely empty before distribution-specific customizations, there isn't much to document there. They are commands that you want to run in startup.