I set up an ARM DevKit recently, so I wanted to catalog what I do to setup Windows here. This is not as polished or complete as my macOS setups, because this is not something I use as a daily driver. But it might be useful, and I’m open to suggestions to improve it. This should work for Intel or ARM Windows.
Basic setup
First, update as far as you can. You should always be on the latest feature release. Microsoft has drastically improved development in the latest versions. The App Installer is now included (though you should update it), and Windows Terminal is available without a separate install in Windows 11 and can be set as the default terminal app.
Store
First you need to get a few downloads from the Windows Store. You’ll want the
latest MSVC and the App Installer. Once you have the installer, you can use the
winget
command and ignore GUI’s. Except for popups during installations.
WinGet
Now, install some useful tools using the Terminal. If you are not in an Administrator shell, you’ll get popups asking you to elevate privileges to install (which is fine).
winget install python
winget install vim.vim
winget install git.git
winget install kitware.cmake
winget install github.cli
winget install microsoft.visualstudiocode
PS: I think you can skip the store section, and install
VisualStudio.2022.Community
here as well. Also in older versions of Windows, )
Paths
To actually make Windows usable, you need to add some paths to your %PATH%
.
Type env
into the search box and select the “edit system environment
variables” entry. Click on PATH
and hit edit, then hit new to add a new entry.
Add C:\Program Files\Vim\vim90
. The other things you’ve installed above work
correctly without adding anything.
This partially reduces the need to run the various “cmd/powershell” launcher scripts every Windows app seems to come with. MSVC still has a useful launcher.
You have to restart the terminal to get the path updates into your environment.
GitHub
Use gh auth login
to automate the procedure of setting up an ssh key.
Pipx
Use pip install pipx
to prepare pipx. It should print a message about script
being installed on a directory that’s not on the path - feel free to copy that
into your path (in setting), or use python -m pipx
instead of pipx
. Run
python -m pipx ensurepath
to place pipx’s path to your PATH
.
pip install pipx
python -m pipx ensurepath
The second line will also ensure pip’s script path is on the path (since that’s where pipx is).
With pipx:
pipx install nox
(and anything else you need, like pre-commit, tox, etc.).