This repository contains various scripts, installations, configurations, checklists, processes, and notes regarding settings up and provisioning a new Windows 10 machine optimized for development work.
Recommended Reading: https://docs.microsoft.com/en-us/windows/dev-environment/overview
Initially, you will need to walkthrough the steps to install the Windows OS onto your machine and set certain settings such as Wifi, Privacy, and OneDrive. I will leave these out of the context of this document but would recommend disabling and reviewing the privacy settings. It is also common to initially utilize an offline user account instead of a linked microsoft account to avoid linking your windows account and pre-existing settings/onedrive.
- In Settings run Windows Update to update to the latest released Windows OS, restarting when necessary.
- Enable Developer Mode from Settings > Update and Security > Developer Mode
- Initialize Windows Insider Program, Dev Channel
- Re-run windows updates, restarting when necessary.
- Open Windows Store and update all necessary apps to latest versions
Microsoft has provided some amazing new open-source developer tools which we will install via winget
the new Microsoft package manager:
In order to ease the process of implementing all of our commands let's improve our terminal and shell by installing Microsoft's open-source versions of Powershell and Windows Terminal.
winget install Microsoft.Powershell-Preview
winget install Microsoft.WindowsTerminalPreview
winget install Microsoft.PowerToys
Full list of core-developer tools from windows:
- Windows Package Manager
winget
- Powershell Core (Preview)
- Windows Terminal (Preview)
- PowerToys (Preview)
- Visual Studio Code
- .NET/Visual Studio/NuGet
- Azure Tools and Azure CLI
Other Essentials:
- Git (for Windows) + LFS + Crypt + Secret
- Docker Desktop (Beta)
- WSL + Ubuntu
- Python
- Node.js
- R, RTools, RStudio
- GitKraken
- Github-CLI
- GCloud SDK
Optional Utilities:
- SysEssentials
- Autoruns
- ProcessExplorer
Run the powershell script uninstall-bloatware.ps1 to remove the following:
- Bing Weather
- Bing News
- Bing Sports
- Candy Crush Saga
- Candy Crush Friends
- Bubble Witch 3 Saga
- Microsoft Solitare Collection
- Mahjong
- LinkedIn For Windows
- Your Phone
- Alarms And Clocks
- Windows Mail
- OfficeHub
- Get Started
- Groove Music
- Maps
- Netflix
- Deezer music
- Change display settings for external monitors
- Change desktop background, theme, cursor, colors, etc.
- Update explorer.exe default settings:
Throughout setting up windows, many package managers will be used, some optional, including but not limited to:
nuget
Chocolatey
winget-cli
npm
vianode.js
pip
orpip3
viaPython
scoop
and/orboxstarter
(similar to chocolatey)ruby
,rubygem
,yarn
,cargo
, etc.homebrew
(WSL only as this is a MacOS library)
Alternatively, you can utilize Ninite for bulk installations.
- Ensure you have the latest App Installer downloaded and installed from Microsoft Store to utilize Window's new package manager:
winget
- see https://github.com/microsoft/winget-cli
- Install
chocolatey
viapowershell
as an administrator:
Check execution policy:
Get-ExecutionPolicy
if returns Remote-Signed
(which it should considering you enabled Developer Mode in the first steps) you are good, else, run Set-ExecutionPolicy AllSigned
.
Chocolatey Install Script:
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'))
Once installed close and re-open your shell.
With an up to date, insider dev edition of windows, now its time to debloat all the unnecessary bloatware that came with your PC. There are a couple options for this:
-
Run
Reset this PC
which will delete all unecessary programs non-essential to Windows and reinstall the Windows OS. -
Uninstall apps permanently using
powershell
:
# be sure running as administrator
iex ((New-Object System.Net.WebClient).DownloadString('https://git.io/debloat'))
Visit Windows10Debloater for details on the powershell debloater.
-
Manually uninstall apps from Settings, Start Menu, or Programs and Features (Control Panel)
-
Use a more full-proof uninstaller such as Bulk Crap Uninstaller, Revo Uninstaller, or my favorite Geek. Geek also has a paid version called Uninstall Tool worth looking into. For installing you can run their respective installers or simply use
winget
:
winget install RevoUninstaller
winget install Bulk Crap Uninstaller
for geek, I use Chocolatey to install:
to install chocolatey: