Skip to content

Instantly share code, notes, and snippets.

@jacobranson
Last active April 16, 2025 02:35
Show Gist options
  • Save jacobranson/9841a3ae2f5887c0712b9c564eecf990 to your computer and use it in GitHub Desktop.
Save jacobranson/9841a3ae2f5887c0712b9c564eecf990 to your computer and use it in GitHub Desktop.

Windows 11 Install Guide

Creating Installation Media

The steps in this guide assume to be run from an existing Windows host.

First, download a Windows 11 Disk Image (ISO) from Microsoft. Then, use WinUtil to generate a MicroWin install ISO, where you can specify a username and password for the default user, as well as any drivers that the target device may need upon installation.

PowerShell

irm "https://christitus.com/win" | iex

Copy the ISO to a flash drive with Ventoy installed. Then, boot from the flash drive to Ventoy, select the MicroWin ISO, and boot in "wimboot mode".

OS Installation

If you are using MicroWin, skip this entire section.

Remove Bloatware

Select "English (World)" as the Time & Currency format.

Install Without Internet

  • Navigate to the Network Connection step of installation
  • Shift+F10 to open Command Prompt
  • Type OOBE\BYPASSNRO to disable the mandatory internet connection check
  • Make a local account
    • Tip: Do not include a space in your name.

First Time Boot

Set Timezone

  • Settings, Time & Language, Date & Time
  • Set time zone appropriately

Change Account Name

  • Control Panel, User Accounts, User Accounts, Change your account name
  • Enter new account name, then click Change Name

Change Device Name

  • Settings, System, About
  • Click Rename this PC
  • Reboot

Browser

Install

PowerShell

winget install -e --id="Zen-Team.Zen-Browser"

Configure

  • Set default search engine in incognito mode to DuckDuckGo
  • Disable offer to save passwords
  • Add uBlock Origin
    • Add the Web Annoyances Ultralist filter
  • Add Proton VPN
  • Add Proton Pass
  • Add Privacy.com
  • Add Untrap for YouTube
  • Add Dark Reader

Drivers

Install

PowerShell

winget install -e --id="Asus.ArmouryCrate"; `
winget install -e --id="Nvidia.GeForceExperience"; `
winget install -e --id="RazerInc.RazerInstaller"; `
winget install -e --id="CPUID.CPU-Z"; `
winget install -e --id="TechPowerUp.GPU-Z"; `
winget install -e --id="Guru3D.Afterburner"; `
winget install -e --id="Guru3D.RTSS"; `
winget install -e --id="SteelSeries.GG";

Additional drivers

Configure Display

  • NVIDIA Control Panel, Change Resolution
  • Under PC section (past Ultra HD, HD, SD section), select 3840 x 2160
  • Select 120Hz refresh rate
  • Select Use NVIDIA Color Settings
    • Desktop color depth: Highest (32-bit)
    • Output color depth: 10 bpc
    • Output color format: RGB
    • Output dynamic range: Full
  • Click Apply

Basic Configuration

Allow Running PowerShell Scripts

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

Remove Desktop Icons

  • Right click Desktop, Personalize, Themes, Desktop icon settings
  • Uncheck Recycle Bin
  • Uncheck Allow themes to change desktop icons

Personalization

  • Set theme preferences
  • Set taskbar preferences
  • Set Start Menu preferences

Enable Automatic Login & Passwordless Unlock (HTPC only)

  • WIN+R, regedit.exe
  • Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device
  • DevicePasswordLessBuildVersion=0
  • WIN+R, netplwiz.exe
  • Uncheck "Users must enter a user name and password to use this computer"
  • Enter password
  • Reboot
  • Settings, Accounts, Sign-in Options, Additional Settings
  • "If you've been away, when should Windows require you to sign in again?" Set to Never.

Enable Remote Desktop (optional)

  • Settings, System, Remote Desktop
  • Enable

Fix PC Never Staying Asleep

  • Win+X, Device Manager
  • Network adapters, Intel(R) Ethernet Controller (3) I225-V
  • Right click, Properties, Power Management tab
  • Check "Only allow a magic packet to wake the computer"
  • OK

Wintoys

Install

winget install wintoys

Configure

TODO

Powertoys

Install

winget install -e --id="Microsoft.PowerToys"

Configure

TODO

Chocolatey

Install

PowerShell

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

Winbtrfs

Install

PowerShell

choco install winbtrfs

Essentials

PowerShell

winget install -e --id="7zip.7zip"; `
winget install -e --id="Notepad++.Notepad++"; `
winget install -e --id="ONLYOFFICE.DesktopEditors"; `
winget install -e --id="dotPDN.PaintDotNet"; `
winget install -e --id="VideoLAN.VLC"; `
winget install -e --id="OBSProject.OBSStudio";

Apps

PowerShell

winget install -e --id="Beeper.Beeper"; `
winget install -e --id="Proton.ProtonMail"; `
winget install -e --id="Proton.ProtonDrive"; `
winget install -e --id="Proton.ProtonVPN"; `
winget install -e --id="Proton.ProtonPass"; `
winget install -e --id="Obsidian.Obsidian"; `
winget install -e --id="Discord.Discord"

Development

Install

PowerShell

winget install -e --id="Microsoft.PowerShell"; `
winget install -e --id="Nushell.Nushell"; `
winget install -e --id="Git.Git"; `
winget install -e --id="GitHub.GitLFS"; `
winget install -e --id="GitHub.cli"; `
winget install -e --id="GitHub.GitHubDesktop"

Configure PowerShell

Do all these steps in the PowerShell profile (not Windows PowerShell), running Terminal (admin).

PowerShell

irm "https://github.com/ChrisTitusTech/powershell-profile/raw/main/setup.ps1" | iex
  • Set Terminal as the default terminal application.
  • Set PowerShell as the default profile.
  • Settings, Defaults, Appearance, Color scheme: One Half Dark.
  • Settings, Defaults, Appearance, Font face: CaskaydiaCove Nerd Font Mono.

Windows Subsystem for Linux

Install

PowerShell

wsl.exe --install
winget install -e --id="Canonical.Ubuntu"

Reboot.

Ubuntu

Create your UNIX username the same as your Windows username. Use the same password for both, as well.

touch ~/.hushlogin
sudo apt update && sudo apt upgrade -y

Enable Systemd

Ubuntu

sudo vim /etc/wsl.conf
[boot]
systemd=true

Powershell

wsl.exe --shutdown

Configure ZSH

sudo apt install -y zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

Set theme to "powerlevel10k/powerlevel10k" in "~/.zshrc".

Configure SSH Key Sharing with Windows

Make a directory .ssh in the Windows User Home Folder using File Explorer.

Ubuntu

mkdir ~/.ssh
sudo nano /etc/fstab

Append the following.

C:\Users\jacobranson\.ssh\ /home/jacobranson/.ssh drvfs rw,noatime,uid=1000,gid=1000,case=off,umask=0077,fmask=0177 0 0

Restart WSL.

PowerShell

wsl.exe --shutdown

Create an SSH key pair.

Ubuntu

ssh-keygen -t ed25519 -C $USER@$NAME

The SSH directory files should be visible from both Windows and WSL.

VSCode

Install

PowerShell

winget install -e --id="Microsoft.VisualStudioCode"

Configure VSCode

  • Settings, Editor: Font Family, CaskaydiaCove Nerd Font Mono.
  • Settings, Window: Restore Windows - None.
  • Install One Dark Pro theme.
  • Install Remote Development Extension Pack.
  • Install Docker Extension.
  • Open WSL.
  • Open Remote SSH Connections, as needed.

Games

PowerShell

winget install -e --id="Valve.Steam"; `
winget install -e --id="PrismLauncher.PrismLauncher"; `
winget install -e --id="CodeLyokoGames.KolossusLauncher"

Reference

Shortcuts

  • Alt+Win+B- Toggle HDR
  • Win+G - Game Bar
  • Alt+Z - GeForce Overlay
  • Alt+R - Performance Overlay
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment