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):
- Windows 11 LTSC Enterprise (I preferred)
- Windows 11 ISO
- Windows 10 ISO
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)
Software | Source/Install Method |
---|---|
Huorong | Huorong |
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.
2: Setting Up Network Tool (Optional) #
Just install Clash Verge Rev, We will configure it later.
Software | Source/Install Method |
---|---|
Clash Verge Rev | GitHub Releases |
3: Setting Up Personal Preferences #
Runtime requires:
Software | Source/Install Method | Notice |
---|---|---|
Windows Terminal | Microsoft Store | / |
gsudo | winget install gerardog.gsudo --scope machine | Run 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 |
Nushell | sudo winget install nushell --scope machine | Command sudo is powered by gsudo now |
Oh My Posh | sudo winget install JanDeDobbeleer.OhMyPosh --scope machine | / |
fnm | sudo winget install Schniz.fnm | Maybe 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:
Software | Source/Install Method | Note |
---|---|---|
Brave | Brave | Extensions |
uTools | uTools | Basic Extensions: 聚合翻译, 本地搜索, OCR文字识别, 计算稿纸, 颜色助手 Dev Extensions: npm包实时搜索, 编码小助手, 超级JavaScript, Any Rule |
Auto Dark Mode | Microsoft Store | / |
NanaZip | Microsoft Store | / |
KeePass 2 | KeePass | Extensions: ColoredPassword, HaveIBeenPwned, KeePassHttp |
Visual Studio Code | Visual Studio Code | / |
Cursor | Cursor | / |
IDM | Internet Download Manager | / |
Git | Git | / |
Visual C++ Redistributable | Microsoft | / |
Context Menu Manager | GitHub Releases | / |
Windows 11 Context Menu Manager | GitHub Releases | / |
DISM++ | GitHub Releases | |
Driver Store Explorer | GitHub Releases | / |
Revo Uninstaller | Revo Uninstaller | / |
HEU KMS Activator | GitHub Releases | / |
Install the tool software below in order:
Software | Source/Install Method |
---|---|
微信 | 微信 |
Telegram | Telegram |
WPS Office | 123pan |
PixPin | PixPin |
LX Music Desktop | GitHub Releases |
PotPlayer | Microsoft Store |
NVIDIA App | NVIDIA |
Steam | Steam |
Epic Games | Epic Games |
OBS Studio | OBS Studio |
Install the dev software below in order:
Software | Source/Install Method | Note |
---|---|---|
Mingw-w64 | GitHub Releases | / |
Neovim | winget install Neovim.Neovim | / |
LazyVim | LazyVim | / |
JDK | Oracle | / |
VEnv | python -m venv /path/to/new/virtual/environment | / |
JetBrains Toolbox | JetBrains | / |
JetBrains IDEA | Install from JetBrains Toolbox | / |
Visual Studio | Visual Studio | / |
Navicat Premium Lite | Navicat | / |
WSL | wsl --install | You should enable Hyper-V & WSL support first |
Docker Desktop | Docker | / |
(Optional) Install other software below:
Software | Source/Install Method |
---|---|
Ventoy | GitHub Releases |
qBittorrent Enhanced | GitHub Releases |
AIDE64 | |
Crystal Disk Info | CrystalDiskInfo |
KeyboardSplitter | GitHub Releases |
PDF SAM | PDF 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):
Extension | Source/Install Method (~ is the same as above) | Note |
---|---|---|
篡改猴 | Chrome Extension Marketplace | Scripts: 下载 VS Code 扩展插件 VSIX 包 |
ChromeKeePass | ~ | / |
Dark Reader | ~ | / |
沉浸式翻译 | ~ | / |
Grammarly | ~ | / |
Install dev extensions:
Extension | Source/Install Method (~ is the same as above) | Note |
---|---|---|
Vue.js Devtools | Chrome 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
Software | Source/Install Method |
---|---|
HEU KMS Activator | GitHub 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.