I reset my phone and my computer biannually. The reset itself is not very difficult; all I need to do is just back up my data and wipe the disk using Windows installation media. The annoying part, however, is reinstalling all my applications and software. Because I dread visiting all the download pages and running the executables myself, I tried many alternative methods, from keeping copies of the installers in a separate thumb drive to package managers such as Chocolatey.

Saving copies of installers

This method is easy, but I still have to double click all the executables myself and click through the installation steps. Also, when my copies go outdated, I have to visit the download page again anyways.

Ninite

This method is more advanced than the previous one. Visit Ninite to get your copy of mass-installer that lets you choose the software you want to install. I liked the idea, but Ninite did not support some of the tools I use.

Chocolatey

This method involves a package manager called Chocolatey. A robust community keeps track of the latest software in the Chocolatey repository, and I can install programs using just the command line. So far I like this one the most; everything can be fully automated, and update is as easy as installation.

Once Chocolatey is installed, create a text file named “packages.txt” and place the name of the packages on each line. Then create a batch file with the following content to install everything from the list:

for /F "eol=#" %%G in (packages.txt) do choco install %%G -fy

Easy.

Tools I use (aka contents of my package.txt)

googlechrome

Although I use FireFox as my primary browser, I still need to test my web projects on Google Chrome. Also, integrated Google services are quite handy.

firefox

My choice of web browser. Highly customizable (although all I use are ad blocker and password manager).

vscode

So far, my favorite text editor. I tried Notepad++, Atom, and Komodo editor before, but I like VSCode the most.

cmder

Terminal emulator. I don’t use it that often anymore as I have WSL running on my machine now. But still, I like the look and feel of it.

androidstudio

Android Studio. I never learned how to build an Android application, but it’s pretty high up on my ToDo list. Someday!

eclipse

My second IDE (my first was MATLAB, if that counts). My school used a lot of Java, and Eclipse kind of worked well with Java. I do know some people prefer IntelliJ, but I am too used to Eclipse now.

pycharm

Solid Python IDE. Used to use a lot, but now I do most of my Python stuff in VSCode just because it loads more quickly.

visualstudio2017community

C++ IDE. The problem is I don’t use C++ that often anymore.

git.install

Git. Bread

python3

Python. Butter. But I actually prefer installing it through the official installer just because it is more convenient.

jdk8

Java Developer Kit 8. What is the latest version?

nodejs.install

Node.js for all the npm fun

vlc

Lightweight media player. I don’t watch media that often, but it is reliable and light.

steam

Steam for playing games and running wallpaper engine

slack

I typically pin slack after the first installation because I’m on slack 24/7, and I always update it directly, not using choco.

filezilla

GUI FTP client. Easy to use, but I tend to use the command line interface more often just because I’m lazy.

crystaldiskinfo

For benchmarking my SSDs

bandizip

The best archiver manager out there. I am planning on purchasing the paid version.

honeyview

The best image viewer out there. Created by the same company that made bandizip. Very fast and easy to use.

github-desktop

Easy to use GUI git client.

wiztree

A tool to visualize my disk usage. Useful for identifying which folder to back up before reset, and finding out how much space my VMs are using.

Other stuff (not installed through Choco)

VirtualBox

Virtual machine utility

Microsoft Office

Yeah

iA Writer

Solid Markdown editor. Cost me $20, but worth every penny.

Photoshop CC

Paying for the subscription just because I use it once every couple of months.