Automate Windows Development Environment Setup
Setting up a development environment on a new Linux system is a
straightforward task with the help of a shell script. Throughout my
life, I’ve primarily utilized Linux for desktop purposes. However,
I’ve recently transitioned to Microsoft Windows 11 and quickly
observed that it is not well-equipped for development tasks and lacks
an efficient setup process. Notably, it lacks a package manager
similar to pacman, apt, or yum, making the setup less convenient.
We need to sequentially download and install the necessary packages on Windows.
I wanted to simplify and add an element of enjoyment to this
task. During my search, I came across boxstarter
This page says “ Repeatable, Reboot Resilient Windows Environment
Installations Made Easy”. Indeed, yes. It is very easy.
Boxstarter leverages Chocolatey packages to automate the
installation. Chocolatey has so many useful packages. Here is the huge list:
https://community.chocolatey.org/packages
You can execute the command given for each package. Or put make a PowerShell script.
Setting up a development is made even a lot simple. We need to create simple PowerShell script
containing list of packages of interest and push it as gist. My gist for example:
cinst -y GoogleChrome
cinst -y 7zip.install
cinst -y paint.net
cinst -y spotify
cinst -y emacs
cinst -y neovim
cinst -y microsoft-windows-terminal
cinst -y oh-my-posh
cinst -y python
cinst -y pip
cinst -y git.install
# check if reboot needed
if (Test-PendingReboot) { Invoke-Reboot }
This is a minimal one. Then run cmd with elevated permission, run the following command
c:\Users\jagadeesh> START http://boxstarter.org/package/nr/url?<url-gist>
Your Windows desktop will be ready for development environment. There
are so many configuration options to install fine-tuned software
packages. Please consult boxstarter doc. I will use Windows as
development environment for some time now.