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.
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.
Set-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.
# Install git choco install git -y # Install PowerToys choco install powertoys -y # Install Visual Studio Code choco install vscode -y # Install WSL choco install wsl -y # Install Ubuntu 18.04 for WSL choco install wsl-ubuntu-1804 -y # Instal Visual Studio 2019 Professional choco install visualstudio2019professional -y # Install PowerShell Core choco install powershell-core -y # Install Azure CLI choco install azure-cli -y # Install Azure PowerShell 6.9.0 choco install azurepowershell -y # Install Node.js choco install nodejs -y # Install JetBrains dotPeek choco install dotpeek -y # Install OpenConnect VPN choco install openconnect-gui -y # Install Google Chrome choco install googlechrome -y # Install firefox choco install firefox -y # Install Onenote choco install onenote -y # Install freefilesync choco install freefilesync -y # Install VLC choco install vlc -y # Install MusicBee choco install musicbee -y # Install mp3tag choco install mp3tag -y # Install telegram choco install telegram -y # Install Office 365 choco install office365business -y # Install Microsoft Teams choco install microsoft-teams -y # Install PowerBI choco install powerbi -y # Install mRemoteNG choco install mremoteng -y # Install Teamviewer choco install teamviewer # Install Windows Terminal choco install microsoft-windows-terminal -y # Install Remote Desktop Connection Manager choco install rdcman -y # Install 7-Zip choco install 7zip -y # Install Tomighty choco install tomighty -y # Install Calibre choco install calibre -y # Install WinDirStat choco install windirstat -y # Install Logitech Options (for my mouse/keyboard) choco install logitech-options -y # Instal SQL Server Management Studio choco install sql-server-management-studio -y # Install paint.net choco install paint.net -y # Install qbittorrent choco install qbittorrent -y # Install RescueTime choco install rescuetime -y
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.