Chocolatey - Package Management for Windows.
Between 6 months to a year, I start to feel that my Windows installation is running sluggish. Is there some malware running somewhere? Is Windows just getting slow? Either way, I like a fresh installation.
Chocolatey to the rescue of clicking next a thousand times.
What is Chocolatey?
Chocolatey is a package management solution for Windows, similar to npm, apt-get etc. It means that you don’t have to sit there searching/downloading/running and click next next next, for every individual piece of software you want to install on your computer.
My Disaster Recovery strategy
Chocolatey is also part of my DR strategy, if my laptop goes bang. It going to take a day or 2 for Dell to come out and fix my laptop, so wherever I am I can drive to a local computer shop, by any decentish laptop and get up and running in the time it takes for chocolatey to run. Most of my important files are synced to OneDrive / NextCloud. So once those have synced I’m back up and running.
Installing Chocolatey
You will need PowerShell installed, and open up an elevated instance of PowerShell (Run-as administrator).
Copy and paste the following into your PowerShell prompt, and after about 30seconds you will have chocolatey available on your system.
1Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
You will need to shutdown and restart powershell to be able to first use chocolatey.
My Chocolatey script
The following script is what I used to get my main windows development environment up and running.
It is possible to run chocolatey with multiple applications on one line i.e choco install app1 app2 app3 but this doesn’t to make much of a difference, as all the applications are downloaded & installed in sequence anyway. It would be good for the downloads all to happen as the installations continue. So I’ve separated all the commands out just for readability.
1# Install git
2choco install git -y
3
4# Install PowerToys
5choco install powertoys -y
6
7# Install Visual Studio Code
8choco install vscode -y
9
10# Install WSL
11choco install wsl -y
12
13# Install Ubuntu 18.04 for WSL
14choco install wsl-ubuntu-1804 -y
15
16# Instal Visual Studio 2019 Professional
17choco install visualstudio2019professional -y
18
19# Install PowerShell Core
20choco install powershell-core -y
21
22# Install Azure CLI
23choco install azure-cli -y
24
25# Install Azure PowerShell 6.9.0
26choco install azurepowershell -y
27
28# Install Node.js
29choco install nodejs -y
30
31# Install JetBrains dotPeek
32choco install dotpeek -y
33
34# Install OpenConnect VPN
35choco install openconnect-gui -y
36
37# Install Google Chrome
38choco install googlechrome -y
39
40# Install firefox
41choco install firefox -y
42
43# Install Onenote
44choco install onenote -y
45
46# Install freefilesync
47choco install freefilesync -y
48
49# Install VLC
50choco install vlc -y
51
52# Install mp3tag
53choco install mp3tag -y
54
55# Install telegram
56choco install telegram -y
57
58# Install Office 365
59choco install office365business -y
60
61# Install Microsoft Teams
62choco install microsoft-teams -y
63
64# Install PowerBI
65choco install powerbi -y
66
67# Install mRemoteNG
68choco install mremoteng -y
69
70# Install Teamviewer
71choco install teamviewer -y
72
73# Install Windows Terminal
74choco install microsoft-windows-terminal -y
75
76# Install Remote Desktop Connection Manager
77choco install rdcman -y
78
79# Install 7-Zip
80choco install 7zip -y
81
82# Install Tomighty
83choco install tomighty -y
84
85# Install Calibre
86choco install calibre -y
87
88# Install WinDirStat
89choco install windirstat -y
90
91# Install Logitech Options (for my mouse/keyboard)
92choco install logitech-options -y
93
94# Instal SQL Server Management Studio
95choco install sql-server-management-studio -y
96
97# Install paint.net
98choco install paint.net -y
99
100# Install qbittorrent
101choco install qbittorrent -y
102
103# Install RescueTime
104choco install rescuetime -y
105
106# Install Docker Desktop
107choco install docker-desktop -y
108
109# Install OBS Studio
110choco install obs-studio -y
111
112# Install Voicemeeter Banana
113choco install voicemeeter-banana
114
115# Install Cryptomator
116choco install cryptomator -y
117
118# Install zoomit
119choco install zoomit -y
Add Context Menu to Explorer to open Windows Terminal
Run the following PowerShell in an elevated console:
1Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/lextm/windowsterminal-shell/master/install.ps1'))
Conclusion
Chocolatey is a pretty good solution for me, it doesn’t have ALL the software that I need. But it probably has 95% of what I use.
I wish there was a central way to keep configuration and logins. But at least this gets me up and running pretty quickly for a while.