This, but here are some things I've learned to do:<p>* Use a .local directory under my home directory instead of ~/bin. That's a great prefix when installing from source or tarball at the user level, keeps the top-level of the home directory from getting cluttered with /share /lib /include /etc /lib etc. etc.<p>* Reach for the package manager first when installing new software, unless there is a good reason not to. It makes keeping things up-to-date easy, and since I use Arch, which uses a rolling release, you pretty much get the latest stuff.<p>* If I can't get what I want from the package manager, I'll look at what is available using asdf-vm (<a href="https://asdf-vm.com/" rel="nofollow">https://asdf-vm.com/</a>), and failing that, build from source or install from tarball.<p>* I don't use snap or the like.<p>I gave up on Windows over 20 years ago, and I can't say enough how liberating it has been. One of the nicest things is that there is a distro for almost every need (see <a href="https://distrowatch.com/" rel="nofollow">https://distrowatch.com/</a>). I use Arch; but your use case may point to a beginner-friendly distro, such as Mint, Ubuntu, etc., or a repeatable install type of distro, such as NixOS or Guix, or many others.