Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Boxstarter script
# Description: Boxstarter Script
# Author: Rich Turner <>
# Last Updated: 2018-10-26
# Run this Boxstarter by calling the following from an **ELEVATED PowerShell instance**:
# `set-executionpolicy Unrestricted`
# `. { iwr -useb } | iex; get-boxstarter -Force`
# `Install-BoxstarterPackage -DisableReboots -PackageName <URL-TO-RAW-GIST>`
#---- TEMPORARY ---
#--- Used to uninstall unwanted default apps ---
function Remove-App
Param ([string]$appName)
Write-Output "Trying to remove $appName"
Get-AppxPackage $appName -AllUsers | Remove-AppxPackage
Get-AppXProvisionedPackage -Online | Where DisplayNam -like $appName | Remove-AppxProvisionedPackage -Online
#--- Uninstall unwanted default apps ---
$applicationList = @(
"ActiproSoftwareLLC.562882FEEB491" # Code Writer
foreach ($app in $applicationList) {
Remove-App $app
#--- Windows Features ---
Set-WindowsExplorerOptions -EnableShowFileExtensions ### -EnableShowHiddenFilesFoldersDrives -EnableShowProtectedOSFiles
Set-ItemProperty -Path HKLM:\Software\Microsoft\Windows\CurrentVersion\AppModelUnlock -Name AllowDevelopmentWithoutDevLicense -Value 1
Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name NavPaneExpandToCurrentFolder -Value 1
Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name NavPaneShowAllFolders -Value 1
Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name LaunchTo -Value 1
Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name MMTaskbarMode -Value 2
#--- PowerShell utilities
Install-Module DirColors
Install-Module posh-git
#--- Install Windows features
choco install -y Microsoft-Hyper-V-All -source windowsFeatures
choco install -y Microsoft-Windows-Subsystem-Linux -source WindowsFeatures
#--- Install Git ---
choco install -y git -params '"/GitAndUnixToolsOnPath /WindowsTerminal"'
RefreshEnv # Refresh env due to Git install
#--- Tools ---
choco install -y 7Zip
choco install -y git -params '"/GitAndUnixToolsOnPath /WindowsTerminal"'
choco install -y vim
choco install -y BeyondCompare
choco install -y
choco install -y Sysinternals
#--- Alt Consoles ---
choco install -y conemu
choco install -y cmder
choco install -y hyper
#--- Browsers ---
choco install -y Firefox
choco install -y Googlechrome
#--- Install Dev Tools ---
#choco install -y ruby
#choco install -y python
choco install -y nodejs
choco install -y visualstudiocode
#--- Install Visual Studio ---
# See this for install args:
choco install -y visualstudio2017enterprise
choco install -y visualstudio2017-workload-universal
choco install -y visualstudio2017-workload-manageddesktop
choco install -y visualstudio2017-workload-netcoretools
choco install -y visualstudio2017-workload-nativecrossplat
choco install -y visualstudio2017-workload-nativedesktop
#choco install -y visualstudio2017-workload-azure
#--- Misc Tools ---
choco install -y Vlc
#--- Fonts ---
choco install -y inconsolata
choco install -y ubuntu.font
#--- Restore Temporary Settings ---
Install-WindowsUpdate -acceptEula
$email = Read-Host "Enter your email address"
ssh-keygen -t rsa -b 4096 -C "$email"
if (Test-Path d:) { $drive = 'd' }
else { $drive = 'c' }
if (!@(Test-Path ${drive}:\dev\)) { mkdir ${drive}:\dev\ }
cd ${drive}:\dev
git clone
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment