Skip to content

Instantly share code, notes, and snippets.

@ervwalter
Last active December 12, 2022 18:31
Show Gist options
  • Save ervwalter/0ed5ee9583cc94ab06fc02117cbe2f12 to your computer and use it in GitHub Desktop.
Save ervwalter/0ed5ee9583cc94ab06fc02117cbe2f12 to your computer and use it in GitHub Desktop.
Bootstrapping a dev machine
<#
From an Admin Powershell window:
install-boxstarterpackage -PackgeName <RAW GIST URL>
#>
#####################
# PREREQUISITES
#####################
Disable-UAC
Update-ExecutionPolicy Unrestricted
######################
# File Explorer Settings
######################
# Show hidden files, Show protected OS files, Show file extensions
Set-WindowsExplorerOptions -EnableShowHiddenFilesFoldersDrives -EnableShowProtectedOSFiles -EnableShowFileExtensions
# will expand explorer to the actual folder you're in
Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name NavPaneExpandToCurrentFolder -Value 1
#adds things back in your left pane like recycle bin
Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name NavPaneShowAllFolders -Value 1
#opens PC to This PC, not quick access
Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name LaunchTo -Value 1
#taskbar where window is open for multi-monitor
Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name MMTaskbarMode -Value 2
######################
# Remove Default Apps
######################
function removeApp {
Param ([string]$appName)
Write-Output "Trying to remove $appName"
Get-AppxPackage $appName -AllUsers | Remove-AppxPackage
Get-AppXProvisionedPackage -Online | Where DisplayName -like $appName | Remove-AppxProvisionedPackage -Online
}
$applicationList = @(
"Microsoft.BingFinance"
"Microsoft.3DBuilder"
"Microsoft.BingNews"
"Microsoft.BingSports"
"Microsoft.BingWeather"
"Microsoft.CommsPhone"
"Microsoft.Getstarted"
"Microsoft.WindowsMaps"
"*MarchofEmpires*"
"Microsoft.GetHelp"
"Microsoft.Messaging"
"*Minecraft*"
"Microsoft.MicrosoftOfficeHub"
"Microsoft.OneConnect"
"Microsoft.WindowsPhone"
"Microsoft.WindowsSoundRecorder"
"*Solitaire*"
"Microsoft.MicrosoftStickyNotes"
"Microsoft.Office.Sway"
"Microsoft.XboxApp"
"Microsoft.XboxIdentityProvider"
"Microsoft.XboxGameOverlay"
"Microsoft.XboxGamingOverlay"
"Microsoft.ZuneMusic"
"Microsoft.ZuneVideo"
"Microsoft.NetworkSpeedTest"
"Microsoft.FreshPaint"
"Microsoft.Print3D"
"Microsoft.People*"
"Microsoft.Microsoft3DViewer"
"Microsoft.MixedReality.Portal*"
"*Skype*"
"*Autodesk*"
"*BubbleWitch*"
"king.com*"
"G5*"
"*Dell*"
"*Facebook*"
"*Keeper*"
"*Netflix*"
"*Twitter*"
"*Plex*"
"*.Duolingo-LearnLanguagesforFree"
"*.EclipseManager"
"ActiproSoftwareLLC.562882FEEB491" # Code Writer
"*.AdobePhotoshopExpress"
);
foreach ($app in $applicationList) {
removeApp $app
}
#####################
# SOFTWARE
#####################
cinst -y git --package-parameters="'/GitAndUnixToolsOnPath /WindowsTerminal'"
cinst -y 7zip.install
cinst -y vcredist140
cinst -y dotnet-6.0-sdk
cinst -y visualstudio2017buildtools
cinst -y visualstudio2017-workload-vctools
cinst -y visualstudio2019buildtools
cinst -y visualstudio2019-workload-vctools
cinst -y python
cinst -y python2 # Node.js requires Python 2 to build native modules
cinst -y nodejs-lts
cinst -y golang
cinst -y vscode
cinst -y fiddler
cinst -y sysinternals
cinst -y microsoft-windows-terminal
cinst -y GoogleChrome
cinst -y firefox
#####################
# WSL
#####################
cinst -y wsl2
cinst -y wsl-ubuntu-2204
#####################
# Cleanup
#####################
Update-ExecutionPolicy RemoteSigned
Enable-UAC
Enable-MicrosoftUpdate
Install-WindowsUpdate -acceptEula
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment