shabbyacc@outlook.com

Windows Setup Manual

Aug 24 · 30min

I know Windows is the best OS to play games, but the worst OS to develop.

If we have no choice, the only one thing we can do is trying our best to make Windows be better for our development.

First Step: Install or Reinstall

We can use Ventoy to make a USB flash driver boot loader to install or reinstall Windows.

Notice that, by default, Ventoy will skip the device check and online check while Windows is setting up. You can also bypass these check manually by these commands below (Press Shift + F10 to open CMD):

cd OOBE
BypassNRO.cmd

Install Ventoy

Insert your USB flash driver, follow the steps in official document to install and set up Ventoy.

Download Windows ISO

For developers, it’s recommended to use the professional edition of Windows.

From Microsoft (Official):

From NEXT, ITELLYOU (For specific Windows edition or version):

If you want to download the Windows ISO via NEXT, ITELLYOU, a BT downloader is required. I recommend qBittorrent Enhanced Edition. Then, you should set the tracker: https://fastly.jsdelivr.net/gh/XIU2/TrackersListCollection/all.txt

Notice that, if you are using VPN tool like Clash, please close it or switch to direct mode for better download speed.

Prepare USB Flash Driver Boot Loader

Move the downloaded Windows ISO file to the USB flash drive.

Insert your USB flash driver with the installation of Ventoy and Windows ISO, and choose it to boot your computer in BIOS.

After Ventoy starts up, choose the right edition & version of Windows ISO and just start to install it.

Then, wait for the installation to complete.

Second Step: Setting Up System Preferences

Just follow the steps below, clean up the annoyed system bundled software, and install tools you preferred. 😍

0: Learn How To Use winget

Install (User Scope):

winget install "<PACKAGE_NAME>" "[--scope user]"

Install (Machine Scope, requires admin permission):

# In windows, `sudo` command is powered by `gsudo`
sudo winget install "<PACKAGE_NAME>" --scope machine

Install on specific location:

winget install "<PACKAGE_NAME>" --location "/PATH/YOU/LIKE"

1: Clean Up Annoyed System Bundled Software

If you use Windows Home Edition or Professional Edition, please uninstall Office 365, Microsoft PC Manager and other trash (system bundled software)

Then, close the anti-virus feature of Windows Defender, use Huorong instead (Much quieter and non-invasive)

SoftwareSource/Install Method
HuorongHuorong

At the end, use Windows 11 Setting Easily (Support Windows 10 too) to close Windows Defender completely, adjust system setting.Don’t forget to restart your computer at last.

SoftwareSource/Install Method
Windows 11 Setting EasilyArticle on Bilibili

2: Setting Up Network Tool (Optional)

Just install Clash Verge Rev, We will configure it later.

SoftwareSource/Install Method
Clash Verge RevGitHub Releases

3: Setting Up Personal Preferences

Runtime requires:

SoftwareSource/Install MethodNotice
Windows TerminalMicrosoft Store/
gsudowinget install gerardog.gsudo --scope machineRun Windows Terminal as admin, because gsudo isn’t installed yet, we don’t have sudo command now.

If you are using latest Windows 11, please put gsudo the very front to avoid being covered by built-in sudo command which is not useful
Nushellsudo winget install nushell --scope machineCommand sudo is powered by gsudo now
PowerShell 7 (Will Deprecated)GitHub Releases/
Oh My Poshsudo winget install JanDeDobbeleer.OhMyPosh --scope machine/
fnmsudo winget install Schniz.fnmMaybe not support --scope machine yet

Setting up via Nushell:

# Start fnm temporary
^fnm env --json | from json | load-env
$env.PATH = $env.PATH | prepend ($env.FNM_MULTISHELL_PATH | path join (if $nu.os-info.name == 'windows' {''} else {'bin'}))

# Install Node.js of latest major version 22
# Notice that, we will just use the LTS version of Node.js
# In fnm, they will be tagged with version code like `Iron` for Node.js 20 LTS
fnm i 22

# Install useful global node package
npm i @antfu/ni @antfu/nip @sxzz/create taze czg -g
# If you are using Node.js < 18, you can just install @antfu/ni and czg as they do not strongly relied on Node.js version
npm i @antfu/ni czg -g

# It's recommended to upgrade npm to >= 10.9.3
# Node.js < 18
# Use bundled npm
# Node.js 18
npm i npm@^10.9.3 -g
# Node.js 20+
npm i npm@latest -g

# Install my personal preferences
npm i impurities -g
# Requires admin permission
sudo we i -f

Setting up via PowerShell (Deprecated)

# Must allow executing local scripts
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

# Start fnm temporary
fnm env --use-on-cd --corepack-enabled --shell powershell | Out-String | Invoke-Expression

# Install Node.js of latest major version 22
# Notice that, we will just use the LTS version of Node.js
# In fnm, they will be tagged with version code like `Iron` for Node.js 20 LTS
fnm i 22

# Install useful global node package
npm i @antfu/ni @antfu/nip @sxzz/create taze czg -g
# If you are using Node.js < 18, you can just install @antfu/ni and czg as they do not strongly relied on Node.js version
npm i @antfu/ni czg -g

# It's recommended to upgrade npm to >= 10.9.3
# Node.js < 18
# Use bundled npm
# Node.js 18
npm i npm@^10.9.3 -g
# Node.js 20+
npm i npm@latest -g

# Install my personal preferences
npm i impurities -g
# Requires admin permission
sudo we i -f

4: Install Software Preferred

Install the basic software below in order:

SoftwareSource/Install MethodNote
BraveBraveExtensions
uToolsuToolsBasic Extensions: 聚合翻译, 本地搜索, OCR文字识别, 计算稿纸, 颜色助手

Dev Extensions: npm包实时搜索, 编码小助手, 超级JavaScript, Any Rule
Auto Dark ModeMicrosoft Store/
NanaZipMicrosoft Store/
KeePass 2KeePassExtensions: ColoredPassword, HaveIBeenPwned, KeePassHttp
Visual Studio CodeVisual Studio Code/
CursorCursor/
IDMInternet Download Manager/
GitGit/
Visual C++ RedistributableMicrosoft/
Context Menu ManagerGitHub Releases/
Windows 11 Context Menu ManagerGitHub Releases/
DISM++GitHub Releases
Driver Store ExplorerGitHub Releases/
Revo UninstallerRevo Uninstaller/
HEU KMS ActivatorGitHub Releases/

Install the tool software below in order:

SoftwareSource/Install Method
微信微信
QQQQ
TelegramTelegram
WPS Office123pan
PixPinPixPin
LX Music DesktopGitHub Releases
PotPlayerMicrosoft Store
NVIDIA AppNVIDIA
SteamSteam
Epic GamesEpic Games
OBS StudioOBS Studio

Install the dev software below in order:

SoftwareSource/Install MethodNote
Mingw-w64GitHub Releases/
Neovimwinget install Neovim.Neovim/
LazyVimLazyVim/
JDKOracle/
VEnvpython -m venv /path/to/new/virtual/environment/
JetBrains ToolboxJetBrains/
JetBrains IDEAInstall from JetBrains Toolbox/
Visual StudioVisual Studio/
Navicat Premium LiteNavicat/
WSLwsl --installYou should enable Hyper-V & WSL support first
Docker DesktopDocker/

(Optional) Install other software below:

SoftwareSource/Install Method
VentoyGitHub Releases
qBittorrent EnhancedGitHub Releases
AIDE64
Crystal Disk InfoCrystalDiskInfo
KeyboardSplitterGitHub Releases
PDF SAMPDF SAM

5: Brave Browser

I hate Chrome because it’s too opinionated, I hate Edge because it’s too heavy.

I just want a Chromium based browser, who is tiny, clean and customizable.

Install useful extensions (Notice: "篡改猴" extension requires you to open the develop mode):

ExtensionSource/Install Method (~ is the same as above)Note
篡改猴Chrome Extension MarketplaceScripts: 下载 VS Code 扩展插件 VSIX 包
ChromeKeePass~/
Dark Reader~/
沉浸式翻译~/
Grammarly~/

Install dev extensions:

ExtensionSource/Install Method (~ is the same as above)Note
Vue.js DevtoolsChrome Extension Marketplace/
Vue.js Devtools (Legacy)~/
Cookie Editor~Extension Key:ookdjilphngeeeghgngjabigmpepanpl
SEO META in 1 CLICK~/
Refined Github~/
File Icons for GitHub and GitLab~/

6: Configure Windows Itself

(Optional) Use HEU KMS Activator to activate Windows

SoftwareSource/Install Method
HEU KMS ActivatorGitHub Releases

At the end, login Microsoft Account, sync the system data, adjust system setting

Third Step: Maintain System

Programs should under:

  • No space path
    • <DRIVER>:/ProgramData/
  • Standard path
    • <DRIVER>:/Program Files/
    • <DRIVER>:/Program Files (x86)/
  • Portable path
    • <DRIVER>:/Program Files Portable/
  • User scope path - $LOCALAPPDATA/Programs/

Projects should under:

  • <DRIVER>:/Projects/
  • <DRIVER>:/i/ (Inspired by antfu)

Use Revo Uninstaller clean useless software at regular intervals.

Use DISM++ clean system at regular intervals.

Shut down and restart at regular intervals.

> comment on bluesky / mastodon / twitter
>