Installation and configuration instructions for Windows 10 (Version 1903).
Download the latest Windows 10 image and create the installation media using Rufus.
Create the file \sources\ei.cfg
on the installation media.
[EditionID]
Professional
[Channel]
Retail
[VL]
0
Create the file \sources\pid.txt
on the installation media.
[PID]
Value={windows key}
Copy this repo and the latest graphics drivers installer to the installation media.
Set the BIOS date and time to the current local time.
Keep the system disconnected from the network.
Boot the installation media.
Language to install: English (United States)
Time and currency format: {Current Time Zone Country}
Keyboard or input method: {Current Hardware Keyboard}
Choose a single word username starting with a capital letter to keep the %UserProfile%
path
consistent and free from spaces.
Modify the setup/system.ps1 script and execute it using the "Run with PowerShell" context menu.
List remaining apps.
Get-AppxPackage | Select Name,PackageFullName | Sort Name
Uninstall unwanted apps.
Get-AppxPackage "Microsoft.3DBuilder" | Remove-AppxPackage
Uninstall unwanted optional features.
Settings > Apps > Manage optional features
- Microsoft Quick Assist
- Windows Hello Face
Clean up the Start Menu.
Configure group policies.
gpedit.msc > Computer Configuration > Administrative Templates > Windows Components
Speech
+ Allow Automatic Update of Speech Data: Disabled
Windows Defender Antivirus
+ Turn off Windows Defender Antivirus: Enabled
Windows Defender Antivirus > MAPS
+ Join Microsoft MAPS: Disabled
Windows Defender Antivirus > Network Inspection System
+ Turn on definition retirement: Disabled
+ Turn on protocol recognition: Disabled
Windows Defender Antivirus > Real-time Protection
+ Turn off real-time protection: Enabled
Disable automatic driver application installation.
Start > "Change device installation settings"
◉ No (your device might not work as expected)
- Reboot the system.
- Connect to the Internet.
- Install Windows updates.
Settings that have yet to be incorporated into the setup/system.ps1 script.
Notifications & actions
+ Edit your quick actions
☑ All settings
☑ Network
☑ Night light
☑ Screen snip
+ Get notifications from these senders
☐ Focus assist (via Search)
Typing
+ Spelling
☐ Autocorrect misspelled words
+ Typing
☐ Add a period after I double-tap the Spacebar
Pen & Windows Ink
+ Windows Ink Workspace
☐ Show recommended app suggestions
AutoPlay
+ Choose AutoPlay defaults
Removable drive: Open folder to view files (File Explorer)
Memory card: Open folder to view files (File Explorer)
Proxy
+ Automatic proxy setup
☐ Automatically detect settings
Colors
+ Choose your color
Windows colors: Navy blue
Start
+ Start
☐ Show app list in Start menu
Region > Additional date, time, & regional settings > Change date, time, or number formats
+ Formats > Additional settings...
+ Numbers
Decimal symbol: .
Digit grouping symbol: ␣
Measurement system: Metric
+ Currency
Decimal symbol: .
Digit grouping symbol: ␣
+ Time
Short time: HH:mm
Long time: HH:mm:ss
+ Date
Short date: yyyy-MM-dd
Long date: ddd, d MMMM yyyy
First day of week: Monday
+ Administrative > Copy settings...
☑ Welcome screen and system accounts
☑ New user accounts
Narrator
+ Use Narrator
☐ Turn on narrator
☐ Allow the shortcut key to start Narrator
Keyboard
+ Use your device without a physical keyboard
☐ Use the On-Screen Keyboard
+ Use Sticky Keys
☐ Allow the shortcut key to start Sticky Keys
+ Use Toggle Keys
☐ Allow the shortcut key to start Toggle Keys
+ Use Filter Keys
☐ Allow the shortcut key to start Filter Keys
General
+ Change privacy options
☐ Let apps use advertising ID to make ads more interesting …
☑ Let websites provide locally relevant content by accessing my language list
☐ Let Windows track app launches to improve Start and search results
☐ Show me suggested content in the Settings app
Move unwanted Windows libraries.
- Right click on
%UserProfile%\Pictures\Camera Roll
and selectProperties
.
Select theLocation
tab and change the path to%AppData%\Pictures\Camera Roll
. - Right click on
%UserProfile%\Pictures\Saved Pictures
and selectProperties
.
Select theLocation
tab and change the path to%AppData%\Pictures\Saved Pictures
.
Configure Indexing Options to only track the "Start Menu" and rebuild the index.
Disable all rules in Windows Firewall except the following entries.
wf.msc
+ Inbound Rules
Connect
Core Networking - …
Delivery Optimization (…)
Hyper-V …
Network Discovery (…)
+ Outbound Rules
Connect
Core Networking - …
Hyper-V …
Network Discovery (…)
Enable inbound rules for File and Printer Sharing (Echo Request …)
. Modify Private,Public
rules for inbound and outbound IPv4 and IPv6 Echo Requests and select "Any IP address" under
Remote IP address
in the Scope
tab.
- Install res/keymap.zip to input German characters on a U.S. keyboard.
- Configure Windows language preferences.
- Reboot the system.
Configure Microsoft Edge.
Settings
+ General
Open Microsoft Edge with: A specific page or pages
about:blank
Open new tabs with: A blank page
Show the favorites bar: Off
Show the home button: Off
Show sites I frequently visit in "Top sites": Off
Show definitions inline for: Off
Ask me what to do with each download: Off
+ Privacy & security
Show search and site suggestions as I type: Off
Show search history: Off
Use page prediction: Off
+ Passwords & autofill
Save form data: Off
Configure Internet Explorer.
Internet options
+ General
Home page: about:blank
Startup: Start with tabs from the last session
+ General > Tabs
When a new tab is opened, open: A blank page
Install useful fonts.
Install third party software.
Install Git with specific settings.
Select Destination Location
C:\Program Files\Git
Select Components
☐ Windows Explorer integration
☑ Git LFS (Large File Support)
☐ Associate .git* configuration files with the default text editor
☐ Associate .sh files to be run with Bash
Select Start Menu Folder
☑ Don't create a Start Menu folder
Choosing the default editor used by Git
[Select other editor as Git's default editor]
Location of editor: C:\Program Files (x86)\Vim\vim81\gvim.exe
[Test Custom Editor]
Adjusting your PATH environment
◉ Use Git from Git Bash only
Choosing the SSH executable
◉ Use OpenSSH
Choosing HTTPS transport backend
◉ Use the OpenSSL library
Configuring the line ending conversions
◉ Checkout as-is, commit as-is
Configuring the terminal emulator to use with Git Bash
◉ Use Windows' default console window
Configuring file system caching
☑ Enable file system caching
☑ Enable Git Credential Manager
☑ Enable symbolic links
Add %ProgramFiles%\Git\cmd
to Path
.
Install gVim and create a config directory.
git clone https://github.com/qis/vim %UserProfile%\vimfiles
Install a WSL distro from https://aka.ms/wslstore, launch it and download config files.
curl -L https://raw.githubusercontent.com/qis/windows/master/wsl/.bashrc -o .bashrc
curl -L https://raw.githubusercontent.com/qis/windows/master/wsl/.profile -o .profile
curl -L https://raw.githubusercontent.com/qis/windows/master/wsl/.tmux.conf -o .tmux.conf
rm -f .bash_history .bash_logout
touch .viminfo
Configure sudo(8) with sudo EDITOR=vim visudo
.
# Locale settings.
Defaults env_keep += "LANG LANGUAGE LINGUAS LC_* _XKB_CHARSET"
# Profile settings.
Defaults env_keep += "MM_CHARSET EDITOR PAGER CLICOLOR LSCOLORS TMUX SESSION"
# User privilege specification.
root ALL=(ALL) ALL
%sudo ALL=(ALL) NOPASSWD: ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
Create /etc/wsl.conf
.
[automount]
enabled=true
options=case=off,metadata,uid=1000,gid=1000,umask=022
Add the following line to /etc/mdadm/mdadm.conf
(fixes some apt
warnings).
# definitions of existing MD arrays
ARRAY <ignore> devices=/dev/sda
Modify the following lines in /etc/pam.d/login
and /etc/pam.d/sshd
(disables message of the day).
#session optional pam_motd.so motd=/run/motd.dynamic
#session optional pam_motd.so noupdate
Execute chmod -x /etc/update-motd.d/*{-help-text,-motd-news}
to reduce spam.
IMPORTANT: Completely restart bash.exe
to apply /etc/wsl.conf
settings.
Create Windows symlinks.
mkdir -p ~/.config
ln -s /mnt/c/Users/Qis/.gitconfig ~/.gitconfig
ln -s /mnt/c/Users/Qis/vimfiles ~/.config/nvim
ln -s /mnt/c/Users/Qis/vimfiles ~/.vim
ln -s /mnt/c/Users/Qis/Documents ~/documents
ln -s /mnt/c/Users/Qis/Downloads ~/downloads
ln -s /mnt/c/Workspace ~/workspace
mkdir -p ~/.ssh; chmod 0700 ~/.ssh
for i in config id_rsa id_rsa.pub known_hosts; do
ln -s /mnt/c/Users/Qis/.ssh/$i ~/.ssh/$i
done
chmod 0600 /mnt/c/Users/Qis/.ssh/* ~/.ssh/*
sudo mkdir -p /root/.config
sudo ln -s /mnt/c/Users/Qis/vimfiles /root/.config/nvim
sudo ln -s /mnt/c/Users/Qis/vimfiles /root/.vim
Install packages.
sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
sudo apt autoremove
sudo apt install p7zip p7zip-rar zip unzip tree pwgen python-minimal pv
sudo apt install imagemagick pngcrush webp
sudo apt install apache2-utils
Install youtube-dl.
sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
sudo chmod 0755 /usr/local/bin/youtube-dl
Install WSLtty for better terminal support.
Install an international locale.
sudo curl -L https://raw.githubusercontent.com/qis/windows/master/wsl/en_XX -o /usr/share/i18n/locales/en_XX
sudo tee -a /etc/locale.gen <<EOF
en_XX.UTF-8 UTF-8
EOF
sudo locale-gen
Follow the development guide to set up a developer workstation.