Skip to content

Instantly share code, notes, and snippets.

@lucamilan
Last active January 27, 2023 09:18
Show Gist options
  • Save lucamilan/c85ffe09266a37b9b64cd32e8b23781b to your computer and use it in GitHub Desktop.
Save lucamilan/c85ffe09266a37b9b64cd32e8b23781b to your computer and use it in GitHub Desktop.
Boxstarter installer script for developer workstation
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="1password" version="7.9.832" />
<package id="7zip" version="22.1" />
<package id="7zip.install" version="22.1" />
<package id="adobereader" version="2022.003.20310" />
<package id="Boxstarter" version="3.0.0" />
<package id="Boxstarter.Bootstrapper" version="3.0.0" />
<package id="Boxstarter.Chocolatey" version="3.0.0" />
<package id="Boxstarter.Common" version="3.0.0" />
<package id="Boxstarter.HyperV" version="3.0.0" />
<package id="Boxstarter.WinConfig" version="3.0.0" />
<package id="ccleaner" version="6.08.10255" />
<package id="chocolatey" version="1.2.1" />
<package id="chocolatey-compatibility.extension" version="1.0.0" />
<package id="chocolatey-core.extension" version="1.4.0" />
<package id="chocolatey-dotnetfx.extension" version="1.0.1" />
<package id="chocolatey-font-helpers.extension" version="0.0.4" />
<package id="chocolatey-visualstudio.extension" version="1.10.2" />
<package id="chocolatey-vscode.extension" version="1.1.0" />
<package id="chocolatey-windowsupdate.extension" version="1.0.5" />
<package id="chocolateygui" version="1.1.0" />
<package id="cloc" version="1.96" />
<package id="curl" version="7.87.0" />
<package id="ditto" version="3.24.238.0" />
<package id="docker-desktop" version="4.16.1" />
<package id="dotnet-5.0-sdk" version="5.0.408" />
<package id="dotnet-5.0-sdk-4xx" version="5.0.408" />
<package id="DotNet3.5" version="3.5.20160716" />
<package id="DotNet4.5" version="4.5.20120822" />
<package id="DotNet4.5.2" version="4.5.2.20140902" />
<package id="DotNet4.6.1" version="4.6.01055.20170308" />
<package id="dotnet4.7.1" version="4.7.2558.20190226" />
<package id="dotnet4.7.2" version="4.7.2.20210903" />
<package id="dotnetcore" version="3.1.32" />
<package id="dotnetcore-3.1-aspnetruntime" version="3.1.32" />
<package id="dotnetcore-3.1-runtime" version="3.1.32" />
<package id="dotnetcore-3.1-sdk" version="3.1.426" />
<package id="dotnetcore-3.1-sdk-4xx" version="3.1.426" />
<package id="dotnetcore-aspnetruntime" version="3.1.32" />
<package id="dotnetcore-runtime" version="3.1.32" />
<package id="dotnetcore-sdk" version="3.1.426" />
<package id="dotnetcoresdk" version="1.0.1" />
<package id="dotnetfx" version="4.8.0.20220524" />
<package id="dropbox" version="165.4.4300" />
<package id="filezilla" version="3.62.2" />
<package id="FiraCode" version="6.2" />
<package id="Firefox" version="109.0" />
<package id="foxitreader" version="12.1.0.15250" />
<package id="gh" version="2.21.2" />
<package id="git" version="2.39.1" />
<package id="git-fork" version="1.76.5" />
<package id="git.install" version="2.39.1" />
<package id="GoogleChrome" version="109.0.5414.75" />
<package id="grep" version="3.7" />
<package id="hackfont" version="3.003" />
<package id="irfanview" version="4.62" />
<package id="jdk8" version="8.0.211" />
<package id="jre8" version="8.0.351" />
<package id="k9s" version="0.26.7" />
<package id="KB2919355" version="1.0.20160915" />
<package id="KB2919442" version="1.0.20160915" />
<package id="KB2999226" version="1.0.20181019" />
<package id="KB3033929" version="1.0.5" />
<package id="KB3035131" version="1.0.3" />
<package id="KB3063858" version="1.0.0" />
<package id="KB3118401" version="1.0.5" />
<package id="kind" version="0.17.0" />
<package id="kubernetes-cli" version="1.26.1" />
<package id="kubernetes-helm" version="3.10.3" />
<package id="kustomize" version="4.5.5" />
<package id="litedb-studio" version="1.0.3" />
<package id="microsoft-edge" version="109.0.1518.61" />
<package id="microsoft-teams.install" version="1.4.00.29469" />
<package id="microsoftazurestorageexplorer" version="1.25.1" />
<package id="netfx-4.7.2" version="4.7.2.0" />
<package id="netfx-4.7.2-devpack" version="4.7.2.20210903" />
<package id="nodejs" version="18.8.0" />
<package id="nodejs.install" version="18.8.0" />
<package id="notepadplusplus" version="8.4.8" />
<package id="notepadplusplus.install" version="8.4.8" />
<package id="nvm" version="1.1.9" />
<package id="nvm.install" version="1.1.9" />
<package id="openssl" version="1.1.1.1900" />
<package id="packer" version="1.8.4" />
<package id="poshgit" version="0.7.3.1" />
<package id="postman" version="10.7.0" />
<package id="powershell-core" version="7.3.1" />
<package id="putty" version="0.78" />
<package id="putty.portable" version="0.78" />
<package id="pwsh" version="7.3.1" />
<package id="python" version="3.11.0" />
<package id="python3" version="3.11.0" />
<package id="safari" version="5.1.7.2" />
<package id="signal" version="6.2.0" />
<package id="skype" version="8.93.0.403" />
<package id="soapui" version="5.7.0.20220316" />
<package id="sql-server-management-studio" version="15.0.18424.0" />
<package id="sysinternals" version="2022.11.28" />
<package id="terminals" version="4.0.1" />
<package id="vcredist140" version="14.34.31931" />
<package id="vcredist2010" version="10.0.40219.32503" />
<package id="vcredist2015" version="14.0.24215.20170201" />
<package id="virtualbox" version="7.0.6" />
<package id="visualstudio-installer" version="2.0.3" />
<package id="visualstudio2017buildtools" version="15.9.50.0" />
<package id="visualstudio2019-workload-vctools" version="1.0.1" />
<package id="visualstudio2019buildtools" version="16.11.22.0" />
<package id="visualstudiocode" version="1.23.1.20180730" />
<package id="vscode" version="1.70.2" />
<package id="vscode-csharp" version="1.23.16" />
<package id="vscode-docker" version="1.0.0.20190907" />
<package id="vscode.install" version="1.70.2" />
<package id="Wget" version="1.21.3" />
<package id="winmerge" version="2.16.24" />
<package id="wsl-ubuntu-2004" version="20.4.0.20220127" />
<package id="wsl2" version="2.0.0.20210721" />
</packages>
### Disable UAC for Session
Disable-UAC
#------------------------------------------------------------------------------
# Windows Settings
#------------------------------------------------------------------------------
try {
Update-ExecutionPolicy Unrestricted
Set-ExplorerOptions -showHiddenFilesFoldersDrives -showProtectedOSFiles -showFileExtensions
Set-TaskbarSmall
#Enable-RemoteDesktop
Disable-BingSearch
Disable-GameBarTips
## Opens PC to This PC, not quick access
Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name LaunchTo -Value 1
## Disable Quick Access: Recent Files
Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer -Name ShowRecent -Type DWord -Value 0
## Disable Quick Access: Frequent Folders
Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer -Name ShowFrequent -Type DWord -Value 0
## Dock
Set-BoxstarterTaskbarOptions -Size Small -Dock Bottom -Combine Always -AlwaysShowIconsOn -MultiMonitorOn -MultiMonitorMode All -MultiMonitorCombine Always
## Privacy: Let apps use my advertising ID: Disable
If (-Not (Test-Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo")) {
New-Item -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo | Out-Null
}
Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Name Enabled -Type DWord -Value 0
## Privacy: SmartScreen Filter for Store Apps: Disable
Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\AppHost -Name EnableWebContentEvaluation -Type DWord -Value 0
## WiFi Sense: HotSpot Sharing: Disable
If (-Not (Test-Path "HKLM:\Software\Microsoft\PolicyManager\default\WiFi\AllowWiFiHotSpotReporting")) {
New-Item -Path HKLM:\Software\Microsoft\PolicyManager\default\WiFi\AllowWiFiHotSpotReporting | Out-Null
}
Set-ItemProperty -Path HKLM:\Software\Microsoft\PolicyManager\default\WiFi\AllowWiFiHotSpotReporting -Name value -Type DWord -Value 0
## WiFi Sense: Shared HotSpot Auto-Connect: Disable
Set-ItemProperty -Path HKLM:\Software\Microsoft\PolicyManager\default\WiFi\AllowAutoConnectToWiFiSenseHotspots -Name value -Type DWord -Value 0
## Start Menu: Disable Bing Search Results
Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Search -Name BingSearchEnabled -Type DWord -Value 0
## Turn off People in Taskbar
If (-Not (Test-Path "HKCU:SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\People")) {
New-Item -Path HKCU:SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\People | Out-Null
}
Set-ItemProperty -Path "HKCU:SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\People" -Name PeopleBand -Type DWord -Value 0
}
catch {}
######################
# 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
}
#------------------------------------------------------------------------------
# Winget
#------------------------------------------------------------------------------
try {
winget install -e --id zxch3n.PomodoroLogger
winget install -e --id yang991178.fluent-reader
winget install -e --id WinSCP.WinSCP.RC
}
catch {}
#------------------------------------------------------------------------------
# Choco
#------------------------------------------------------------------------------
chocolatey feature enable -n=allowGlobalConfirmation
choco feature enable -n=useRememberedArgumentsForUpgrades
cinst chocolatey -y
cinst chocolatey-core.extension -y
cinst boxstarter -y
cinst firacode -y
cinst hackfont -y
cinst -y nvm
if (-not(Get-Command node -ErrorAction Ignore)) {
C:\ProgramData\nvm\nvm.exe install lts
C:\ProgramData\nvm\nvm.exe use lts
}
cinst -y terminals
cinst -y teamviewer
cinst foxitreader -y --ia "/LANG=it"
cinst TelnetClient -source windowsFeatures
cinst kubernetes-helm -y
cinst kubernetes-cli -y
cinst nuget.commandline -y
cinst -y wget
cinst -y openssl
cinst -y windirstat
cinst -y zoomit
cinst -y curl
cinst -y whatsapp
cinst -y telegram
cinst -y powertoys
cinst -y eartrumpet
cinst -y git --params "/GitAndUnixToolsOnPath /WindowsTerminal /NoGitLfs /NoAutoCrlf"
cinst -y sysinternals
cinst -y postman
cinst -y 7zip.install
cinst -y ditto --pre
cinst -y googlechrome
cinst -y greenshot
cinst -y filezilla
cinst -y notepadplusplus.install
choco install sql-server-express -y
# Net
cinst -y vcredist140
cinst -y vcredist2010
cinst -y dotnet4.5
cinst -y dotnet4.5.2
cinst -y dotnet4.6.1
cinst -y dotnetcore
cinst -y dotnetcoresdk
cinst -y dotnetcore-sdk
cinst -y dotnetcore-runtime
cinst -y dotnetcore-aspnetruntime
cinst -y dotnetfx
cinst -y dotnet-sdk
cinst -y dotnet-6.0-sdk
cinst -y sql-server-management-studio --svc
cinst -y azure-cli
cinst -y netfx-4.5.2-devpack
cinst -y netfx-4.6.2-devpack
cinst -y visualstudio2017buildtools
cinst -y visualstudio2017-workload-vctools
cinst -y visualstudio2019buildtools
cinst -y visualstudio2019-workload-vctools
cinst visualstudio2022community --package-parameters "--allWorkloads --includeRecommended --includeOptional --passive --locale en-US" -y
# Java
cinst -y jdk8
cinst -y jre8
cinst -y Temurin11 --params="/ADDLOCAL=FeatureMain,FeatureEnvironment,FeatureJarFileRunWith,FeatureJavaHome /INSTALLDIR=C:\Program Files\Temurin\ /quiet"
cinst -y Temurin17 --params="/ADDLOCAL=FeatureMain,FeatureEnvironment,FeatureJarFileRunWith,FeatureJavaHome /INSTALLDIR=C:\Program Files\Temurin\ /quiet"
cinst -y maven
# Vs Code
cinst -y vscode
code --install-extension vscjava.vscode-java-debug
code --install-extension vscjava.vscode-java-dependency
code --install-extension vscjava.vscode-java-pack
code --install-extension vscjava.vscode-java-test
code --install-extension vscjava.vscode-maven
code --install-extension ms-vscode.powershell
code --install-extension formulahendry.auto-close-tag
choco upgrade chocolateygui
# WSL
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
RefreshEnv
cinst wsl2 --params "/Version:2 /Retry:true"
choco install wsl-ubuntu-2004
#cinst -y wsl-ubuntu-2004
# you don't need Fax & Scan, XPS formats, XPS printing services, or printing to http printers.
Disable-WindowsOptionalFeature -Online -FeatureName Printing-XPSServices-Features -NoRestart
Disable-WindowsOptionalFeature -Online -FeatureName Printing-Foundation-InternetPrinting-Client -NoRestart
# Docker
cinst -y docker-desktop
# Refresh
Update-SessionEnvironment #refreshing env due to Git install
RefreshEnv
# Cleanup
del C:\eula*.txt
del C:\install.*
del C:\vcredist.*
del C:\vc_red.*
# Git
git config --global core.longpaths true
git config --global user.name "Luca Milan"
#git config --global user.email "luca.milan@XYZ.it"
### Enable UAC and Update
Update-ExecutionPolicy RemoteSigned
Enable-UAC
Enable-MicrosoftUpdate
Install-WindowsUpdate -acceptEula
refreshenv
if (Test-PendingReboot) { Invoke-Reboot }
Install-BoxstarterPackage -PackageName https://gist.githubusercontent.com/lucamilan/[filename]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment