Cloudy and chocolatey goodness

I vaguely remember taking almost a full day to reinstall Windows on my PC when something went wrong and I couldn't fix it anymore. This was in the Windows 95 to Windows XP timeframe. But this was also a time where I would take backups to DVD's. I would do this manually, going over my files and copying over what I wanted to backup.

It was also a time where you didn't have very much data. For example, I didn't have gigabytes of photo's in those days. Fast forward to today, and technology has provided us with the tools to perform this automatically.

My Dell XPS 13 recently stopped booting into Windows and I couldn't get it fixed. So I decided I would reinstall Windows. Thankfully, I hardly have any data that lives exclusively on my PC.

Music

I use Spotify so I don't have any music files locally anymore. I used to curate a large iTunes library, going so far as to give each song the correct music genre and giving them a 0-5 rating. I've given up on this and been a lot more care-free since then. I also subscribed to the family plan, which means my wife also enjoys Spotify now, for less than the price of two individual accounts.

Photo's

I have all my photo's on OneDrive, which means a PC crash is totally not a big deal. I definitely recommend you also choose some cloud service for your photo's. These are often important memories you don't want to lose. Keep in mind a cloud service isn't the same as a backup strategy. If I delete a file in OneDrive, it is gone. But for my photo's, this is fine.

Documents

Same thing here: I use OneDrive for all my documents. I don't think there is a single document in my local Documents folder.

Code

All my code is either on GitHub, or in BitBucket. I use BitBucket for private repo's and GitHub for public ones. You could also check out GitLab, which allows both public and private repositories on their free plan.

The point is, when my PC crashes, I usually will only lose a day's work. And with my most recent crash, I was able to use the command prompt in the recovery UI, to copy over unpushed repositories to an external drive.

So, the cloud

You see that everything is in the cloud (I'm aware of the privacy issues, but life is full of trade-offs). Even a tool like Postman now syncs collections to the cloud, which saved me a lot of work with my reinstall!

Reinstalling

So my data is covered. Now for the most interesting part: applications. As a developer, I have lots of applications I use. Some daily, some only a few times every month. But we're talking several editors, database tools, an FTP client, design tools, etc. To install those all manually would take me a few hours, mainly watching progress bars. Who am I kidding, I would spend most of it playing some game or watching YouTube because I'm easily distracted when watching progress bars.

But I digress. The point is, thanks to Chocolatey, I have been able to easily reinstall most applications automatically. If you don't know Chocolatey yet, it's like Nuget for applications. Or apt-get for Windows.

Installing an application is easy:

choco install VisualStudioCode  

This will install VS Code. And there are currently more than 5000 packages on Chocolatey.org. There's a big chance most of your applications are on there.

I've been installing most applications via Chocolatey, and maintaining a Powershell script for future reference. And that came in very handy when reinstalling my PC. I just ran this script, walked away, and some time later, everything was installed. Everything except for two or three applications which I then installed manually (I wasn't interested in hunting down what the problem was).

Automation

It all comes down to automation. I'm a big fan on automating tedious manual tasks, and the above pieces very much automate setting up a new PC for me. The cloud has me covered on data, and Chocolatey (together with a Powershell script) helps me out on application. Any other minor tweaks and settings I do over the course of the days following my reinstall. But this process gets me up and running with a minimal setup very quickly. I encourage you to do the same.