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.
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.
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.
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, )
To actually make Windows usable, you need to add some paths to your
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.
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.
gh auth login to automate the procedure of setting up an ssh key.
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
python -m pipx ensurepath to place pipx’s path to your
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).
pipx install nox
(and anything else you need, like pre-commit, tox, etc.).