There are some posts that I look forward to getting on my soapbox, and others that are for storing infomation I think I'll find useful later. I'm noticing the information posts do tend to rate better, but I enjoy my soapbox more.
Setting up a new machine can take a while. Try to remember all the software you need, download each one by one, install, configure. It can take forever! The solution is SCRIPTING!
There are a few ways to automate and a few months ago, I would have recommended Chocolatey. Actually, I still do. However, there have been shots fired from Microsoft at the last Build, introducing App Installer (WinGet). I think it will be worth watching.
For now, go and get Chocolatey and install. To use Chocolatey effectively, there are a few things to consider:
- Use an Administrator prompt. (I recommend Powershell)
- Use -y to install without prompts. Better still, run
choco feature enable -n allowGlobalConfirmationto set it globally.
First, let's get some utilities in place. I have picked the following utilities that I want on all my machines:
- 7 Zip
- TreeSize Free
- Microsoft Edge
- Sublime Text
- Windows Terminal
$ choco install 7zip treesizefree paint.net spotify googlechrome microsoft-edge firefox 1password sublimetext3 greenshot microsoft-windows-terminal
Next, I want my social applications. This includes any applications I use to communicate, including video recording.
$ choco install skype slack microsoft-teams zoom obs-studio
Finally, I'm looking at the heavy lifting. Take note that I'm not installing SQL Server or other heavy applications. I want to use Docker to download and run these kinds of resources in containers.
$ choco install git git-lfs poshgit nvm vscode dotnetcore-sdk postman docker-desktop azure-cli microsoftazurestorageexplorer azure-data-studio nswagstudio linqpad visualstudiocommunity2019 sqlitestudio python kubernetes-helm kubernetes-cli pulumi ngrok intellijidea-ultimate openjdk17 maven $ nvm install latest
While it would be great to have all my applications installed with a single script, there are still some applications that don't have a Chocolatey install.
- Adobe XD - It's free Photoshop-like design software. Awesome for planning out the design of a web page for different screen sizes. I'm not good with it yet, but I'm very interested in learning.
Chocolatey can install applications and windows features to ensure a development machine is set up the same way each time. It's so much faster than manually downloading and installing each application as you remember it. Instead, all of the work is in keeping and maintaining the list of applications that need to be installed. Where possible, use Chocolatey to install rather than installing a downloaded file.
To find an application, use:
$ choco search "<search string>"
To check what has been installed locally:
$ choco list -l
To check local chocolatey installs as well as other applications:
$ choco list -li