Lately I've been switching between multiple machines for development, and with it comes downloading different tools for different projects many times.
I wanted a way to easily manage the tools while also contextualizing them based on type of work (e.g. tools for Java) and making the installation scriptable to easily move from one machine to another. Enter Scoop.
I wrote a script that downloads Scoop and installs my basic utility tools and development-specific ones. Scoop will raise a warning and skip over any packages that's already installed, so I can run the script on a new machine or one already setup with Scoop.
For existing dev environments, I did some (optional) manual work — Scoop installs tools in the
~/scoop/ directory in the user account, so if a program is already installed on a machine and is installed again via Scoop, the program will exist in multiple places. To keep it clean, I manually uninstalled some programs (usually utility tools like Git) before running the script.
Scoop can be used to install non-dev programs like Chrome or Slack by adding other buckets. For now I use Scoop only in the context of development work, so the other buckets don't get much use from me. Even within a dev context, I'm holding off on using it to manage all my apps like editors and IDEs. Maybe a future project.
I'm happy to off-load thinking about what to download to Scoop, and it's been a welcome addition to my workflow.