Skip to content

Instantly share code, notes, and snippets.

@maxco2
Forked from josephst/setupWindows.md
Created November 21, 2018 13:51
Show Gist options
  • Select an option

  • Save maxco2/00b77eb3d5a8d4c495aef4922418fd8a to your computer and use it in GitHub Desktop.

Select an option

Save maxco2/00b77eb3d5a8d4c495aef4922418fd8a 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

Notes to self

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
  • Sign in to MSFT account to get OneDrive syncing. Sync Development folder first
  • Change name of computer (to something memorable, instead of DESKTOP-FDSFFE or some other random name)

Windows Tweaks

Disassembler0 script to edit Win10 defaults Customized version of script located in OneDrive; remember to git pull upstream master and inspect updates before running.

Restoring data

  • Let OneDrive sync itself
  • Restore other use folders from File History backups
  • Symlinks
    • Symlink from dotfiles folder in OneDrive to User folder
    • Elevated PS prompt: New-Item -Type SymbolicLink -Name .name -Target PathToTarget

Development tools

  • Enable Development mode in Windows settings and enable script execution
  • Install chocolatey (in Powershell): iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
  • In OneDrive/Development folder:
    • Run update_tools.ps1 to install majority of development tools
    • Run Ninite installer
  • 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 (using yarn)
  • Other software (as needed)
    • Visual Studio
      • C++ Development
      • Linux Development
    • Docker
    • Insomnia Rest Client
    • Anaconda

Dev Environment

  • Sync VS Code settings from gist
  • Install development fonts (choose 1+)
  • Import Cmder (ConEmu) settings from conemu.xml; Hyper.JS settings from .hyper.js
  • Change cmd.exe colors (also applies to Bash on Windows): Colortool
  • 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.)
  • Run the Windows 10 Tweak script in OneDrive
    • This also takes care of uninstall a lot of the 3rd party apps that get installed
    • Read carefully and be conservative to make sure important services aren't disabled
  • Backblaze
    • Inherit backup state from old installation
  • MS Store apps
    • Microsoft Todo
    • Microsoft Office
    • Spotify
    • Paint.NET
    • Facebook, Twitter, FB Messenger, WhatsApp Desktop
    • Lunacy
  • Setup accounts
    • Sign in to email accounts in Mail;
    • Lastpass
    • Browser syncing: Sign into Google account in Chrome; Mozilla account in Firefox
    • Spotify
  • Edge extensions
    • uBlock origin
    • LastPass
    • 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