I run Ubuntu and use the Nala frontend for APT to keep a log of my package installs. That way, I can easily remove everything if I no longer need to work with a particular language or set of dependencies. For anything too complicated, I like to drop into a Docker container (which integrates nice with VSCode/Codium)