Skip to content

Instantly share code, notes, and snippets.

@veleek
Last active August 17, 2021 04:58
Show Gist options
  • Save veleek/aeb819d9488676620aa1d2014f6991b0 to your computer and use it in GitHub Desktop.
Save veleek/aeb819d9488676620aa1d2014f6991b0 to your computer and use it in GitHub Desktop.
Boxstarter Script for my work machines
# Install BoxStarter
# Set-ExecutionPolicy Unrestricted -Scope Process -Force; . { iwr -useb https://boxstarter.org/bootstrapper.ps1 } | iex; Get-Boxstarter -Force
# Execute this BoxStarter Package
# Install-BoxstarterPackage -DisableReboots -PackageName https://gist.githubusercontent.com/veleek/aeb819d9488676620aa1d2014f6991b0/raw/benran-boxstarter-work.ps1
# Trust PSGallery
Get-PackageProvider -Name NuGet -ForceBootstrap
Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
Set-WindowsExplorerOptions -EnableShowHiddenFilesFoldersDrives -EnableShowFileExtensions -EnableShowFullPathInTitleBar -EnableExpandToOpenFolder -EnableShowRibbon
Set-CornerNavigationOptions -EnableUsePowerShellOnWinX
Enable-RemoteDesktop
Disable-GameBarTips
Disable-UAC
#Set-TaskbarOptions -Combine Never -AlwaysShowIconsOn
#Set-BoxstarterTaskbarOptions -Combine Never -AlwaysShowIconsOn
#Set-BoxstarterTaskbarOptions -MultiMonitorOn -MultiMonitorMode All -MultiMonitorCombine Never
# Update a few files to use OneDrive versions instead.
$vscodePath = Join-Path $env:APPDATA "/Code/User"
$vscodeRoamingPath = Join-Path $env:USERPROFILE "OneDrive/WindowsPowershell/vscode/"
$roamingItems = @{
(Join-Path $vscodePath "settings.json") = (Join-Path $vscodeRoamingPath "settings.json")
(Join-Path $vscodePath "keyBindings.json") = (Join-Path $vscodeRoamingPath "keyBindings.json")
(Join-Path $vscodePath "snippets/") = (Join-Path $vscodeRoamingPath "snippets/")
(Join-Path $env:LOCALAPPDATA "\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json") = (Join-Path $env:USERPROFILE "OneDrive\WindowsTerminal\settings.json")
}
foreach($localItemPath in $roamingItems.Keys)
{
if(Test-Path $localItemPath)
{
$existingItem = Get-Item $localItemPath
if($existingItem.LinkType -eq "SymbolicLink")
{
Write-Host "Local item '$localItemPath' already redirected to '$($existingItem.Target)'"
}
else
{
Write-Warning "Local item '$localItemPath' already exists. Not linking to OneDrive"
}
}
else
{
$roamingItemPath = $roamingItems[$localItemPath]
New-Item -ItemType SymbolicLink -Path $localItemPath -Target $roamingItemPath -Whatif
}
}
Get-AppxPackage Microsoft.3DBuilder | Remove-AppxPackage
Get-AppxPackage Microsoft.WindowsAlarms | Remove-AppxPackage
Get-AppxPackage Microsoft.BingFinance | Remove-AppxPackage
Get-AppxPackage Microsoft.BingNews | Remove-AppxPackage
Get-AppxPackage Microsoft.BingSports | Remove-AppxPackage
Get-AppxPackage Microsoft.BingWeather | Remove-AppxPackage
Get-AppxPackage Microsoft.YourPhone | Remove-AppxPackage
Get-AppxPackage Microsoft.Getstarted | Remove-AppxPackage
Get-AppxPackage microsoft.windowscommunicationsapps | Remove-AppxPackage
Get-AppxPackage Microsoft.WindowsMaps | Remove-AppxPackage
Get-AppxPackage Microsoft.Messaging | Remove-AppxPackage
Get-AppxPackage Microsoft.People | Remove-AppxPackage
Get-AppxPackage Microsoft.SkypeApp | Remove-AppxPackage
Get-AppxPackage Microsoft.MicrosoftStickyNotes | Remove-AppxPackage
Get-AppxPackage Microsoft.Office.Sway | Remove-AppxPackage
cinst pwsh
cinst microsoft-windows-terminal
cinst 7zip.install
cinst fiddler
cinst windirstat
cinst putty
cinst git
cinst nodejs
cinst python
cinst notepadplusplus.install
cinst visualstudiocode
cinst nugetpackageexplorer
cinst azure-cli
cinst azcopy
cinst microsoftazurestorageexplorer
cinst kubernetes-cli
cinst docker-desktop
cinst docker-compose
cinst minikube
#Install-Module posh-git -Scope CurrentUser
#Install-Module oh-my-posh -Scope CurrentUser -AllowPrerelease
mkdir fonts
cd fonts
$cascadiaCodeNf = "https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/CascadiaCode/Regular/complete/Caskaydia%20Cove%20Regular%20Nerd%20Font%20Complete%20Windows%20Compatible.otf"
iwr -useb $cascadiaCodeNf -outFile CaskadiaCoveNF.otf
$nfInstall = "https://raw.githubusercontent.com/ryanoasis/nerd-fonts/master/patched-fonts/install.ps1"
iwr -useb $nfInstall -outFile install.ps1
.\install.ps1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment