There are so many config files that are read in a particular order for each shell, interactive vs login, and for each platform. They all configure themselves using env vars and shell functions. Then every dev tool pastes some config into some of these config files.<p>It's really out of control.<p>The shell is probably the most used software on a developer's computer and it's a total mess.<p>Are there any solutions to this?
It's not really out of control or complicated at all.<p>> Then every dev tool pastes some config into some of these config files.<p>This is why you see it to be complicated. <i>Don't do this</i>. The only thing you should really ever be editing is $PATH, and even then I'd argue not to. Do something else. Use direnv, source .env files, write wrapper scripts.<p>I don't put arbitrary shit into shell profiles or shell rc files, you're just asking for pain.<p>You should understand what you're doing before pasting arbitrary bits into these files.
I split my shell config into 2 stages: common things and local ones. in the common i set up the plugin manager and other things. In the local i set config fpr the tools