Skip to content

Instantly share code, notes, and snippets.

@josephst
Last active April 20, 2021 21:55
Show Gist options
  • Save josephst/52b9d5bd3bb64406c2794a798ae76700 to your computer and use it in GitHub Desktop.
Save josephst/52b9d5bd3bb64406c2794a798ae76700 to your computer and use it in GitHub Desktop.
Setup for a new Windows system

Getting Windows set up for development and daily driver use

Similar guides for inspiration

Setting up a user profile

  • Install Windows with offline profile (no MSFT account) so that user folder is set correctly (rather than to a truncated email address)
  • Make sure BitLocker is enabled
  • Change name of computer (to something memorable, instead of DESKTOP-FDSFFE or some other random name)
  • Sign in to MSFT account to get OneDrive syncing

Boxstarter

Install and run Boxstarter with personalized script Boxstarter script

Windows Tweaks

Included in Boxstarter script.

Restoring data

  • Let OneDrive sync itself
  • Restore other use folders from File History backups

Development tools

  • Enable Development mode in Windows settings and enable script execution
  • Install Windows Terminal
  • Install chocolatey (in Powershell): iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
  • Boxstarter and PatchMyPC will handle installation of most programs (development and otherwise)
  • Enable WSL and Hyper-V
    • Control Panel > Add/ Remove Windows Features > Windows Subsystem for Linux & Hyper-V
    • Reboot
    • Install Ubuntu from Windows Store
  • Symlink files from OneDrive/Development/dotfiles (working directory: ~)
    • Elevated PS prompt: New-Item -Type SymbolicLink -Name <linkName> -Target ./OneDrive/Development/dotfiles/<target>
  • Install desired global npm modules (npm install -g)

Dev Environment

  • Sync VS Code settings from gist using nonoroazoro.syncing extension
  • Install development fonts (choose 1+)
    • Fira Code, for fancy ligatures
    • Cascadia Code and Cascadia Code PL
  • WSL changes
    • Install ZSH: sudo apt-get update && sudo apt-get install zsh
    • Install important development packages: sudo apt-get install git build-essential
    • Install Prezto and Pure theme for Prezto
      • Use own fork of Prezto as master and pull changes from upstream

Other

  • Non-development apps
    • Anki
    • OEM apps (Dell Update, Intel Driver Update, etc.)
  • Backblaze
    • Inherit backup state from old installation
  • MS Store apps
    • Microsoft Todo
    • Microsoft Office
    • Spotify
    • Paint.NET
    • Facebook, Twitter, FB Messenger, WhatsApp Desktop
  • Misc
  • Setup accounts
    • Sign in to email accounts in Mail;
    • 1Password
    • Spotify
  • Edge extensions
    • uBlock Origin
    • 1Password
    • Pocket

BCD Configuration (if a disabled Hyper-V is necessary)

  • To get VirtualBox and Hyper-V to cooperate, need to create separate BCD entries for Hyper-V on and off.
  • In elevated PS: bcdedit /copy '{current}' /d "No Hyper-V", bcdedit /set '{<new entry UUID>}' hypervisorlaunchtype off
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment