command line – Is there a GUI way to manage your path, package manager, package versions etc?


I am not a full stack engineer but from time to time I need to deal with full stack things or at least be able to run various servers/services/scripts.

For all the years I have been a student or a software engineer I have gotten stuck multiple times with just the strangest problems with my local configuration multiple times. Often times I keep getting into niche and more niche problems until the solution I find I decide on is (I kid you not) just doing a fresh install of the entire OS.

The problem comes down to the pace that full stack and open source projects move and how often I am juggling between multiple teams or efforts. It also doesn’t help that there are dozens of package managers out there and that often times I am installing dependencies that I have no clue what they do or how they play with others. I would take the time to answer that question except it seems every year there is a new handful added to the mix that are going to be forgotten next year.

It doesnt help that some packages are only seemingly available on certain package managers or a different project may ask you to use a specific package manager so you can’t really follow the rule of thumb to not mix package managers.

It also doesn’t help that each of the services change over time. Deprecating solutions you will find to a problem you might run into and google. At this point even Python confuses me. Whether or not I am running python 3 or 2 or the right package manager for the related version of Python I am running etc etc just makes my head spin. It’s too complicated and there is too much of it to learn and constantly keep updated on from so many parties.

The worst part is the path and the zshrc file. I know what it does but it confuses me to no end. In my latest troubleshooting I resolved to just adding commands in there to have brew install a few things that by every debugging solution I have went through should be in my path when I launch terminal.

Y’all it’s just a lot to keep track of. For my current main project I have to keep husky, node, npm, nvm, core pack, tsx, pnpm, postgresql, k9s, temporal, etc all working together in tandem and whenever I need to troubleshoot an error from one of them the solution usually ends up breaking another one. I dont even know what most of these do and frankly I dont care to because I am pretty sure I wont need half of these next year.

So anywho that’s the problem. I am looking for solutions. I am hoping someone has baked a little cute GUI for the dev environment that keeps tabs on all the different package managers and what they have installed and whether that install is specific to a project or the whole system. I would like to be able to easily see and modify what’s installed and where.

I get if you’re a full stack engineer you somehow like this aspect of your work and think this is a good problem to have… However as someone who primarily works on iOS and with one package manager and does not have time to keep up with all of the full stack ecosystem bloatware and new versions… dealing with this problem always feels like a monumental waste of time. Is there anyone who has built a good solution for this?

At a bare minimum I would like to have some sort of way to just nuke the dev environment and everything installed (not just removing them from the path) without making a fresh install of my OS.