Last active
July 16, 2026 20:02
-
-
Save bluntspoon/d3c73088b2d9fd33033a8e8cef2296e8 to your computer and use it in GitHub Desktop.
Basic Dev Machine Setup using WinGet
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # ===================================================================== | |
| # New-laptop dev environment setup (Windows 11 / PowerShell) | |
| # Installs core apps via winget (official source only). | |
| # WinGet bootstrap intentionally omitted - App Installer ships with Win11. | |
| # Usage: pwsh -File .\setup-apps.ps1 | |
| # ===================================================================== | |
| Write-Host "-=Installing Apps=-" -ForegroundColor Black -BackgroundColor White | |
| $apps = @( | |
| @{id = "Microsoft.WindowsTerminal"; source = "winget" } | |
| @{id = "Starship.Starship"; source = "winget" } # prompt engine (replaces Oh My Posh) | |
| @{id = "DEVCOM.JetBrainsMonoNerdFont"; source = "winget" } # Nerd Font for prompt/file glyphs | |
| @{id = "ajeetdsouza.zoxide"; source = "winget" } # smart directory jumping | |
| @{id = "Microsoft.VisualStudioCode"; source = "winget" } | |
| @{id = "Microsoft.AzureCLI"; source = "winget" } | |
| @{id = "Microsoft.PowerShell"; source = "winget" } | |
| @{id = "Microsoft.PowerToys"; source = "winget" } | |
| @{id = "Git.Git"; source = "winget" } | |
| @{id = "GitHub.cli"; source = "winget" } | |
| @{id = "SUSE.RancherDesktop"; source = "winget" } | |
| @{id = "Microsoft.DotNet.SDK.10"; source = "winget" } | |
| @{id = "CoreyButler.NVMforWindows"; source = "winget" } # Node version manager | |
| @{id = "Oven-sh.Bun"; source = "winget" } # fast JS runtime / package manager | |
| ) | |
| Foreach ($app in $apps) { | |
| $listApp = winget list --exact -q $app.id --accept-source-agreements | |
| if (![String]::Join("", $listApp).Contains($app.id)) { | |
| Write-Host "Installing:" $app.id -ForegroundColor Green | |
| winget install --exact --silent --id $app.id --source $app.source --accept-package-agreements --accept-source-agreements | |
| } | |
| else { | |
| Write-Host "Already Installed (will try upgrade): " $app.id -ForegroundColor Yellow | |
| winget upgrade --silent --id $app.id --source $app.source --accept-package-agreements --accept-source-agreements | |
| } | |
| } | |
| Write-Host "-=Installation and Upgrades Complete=-" -ForegroundColor Black -BackgroundColor White | |
| # --- Post-install follow-ups (run manually after the batch) --------- | |
| # Install-Module Terminal-Icons -Scope CurrentUser # from official PowerShell Gallery | |
| # nvm install lts ; nvm use lts # Node LTS (needs a fresh shell) | |
| # Add to $PROFILE: Invoke-Expression (&starship init powershell) | |
| # Import-Module Terminal-Icons | |
| # Invoke-Expression (& { (zoxide init powershell | Out-String) }) | |
| # Set "JetBrainsMono Nerd Font" as the font in Windows Terminal settings.json | |
| # git config --global user.name "Andrew Bevan" | |
| # git config --global user.email "Andrew.Bevan@derivco.co.za" |
Author
Author
0x8a15005e : The server certificate did not match any of the expected values.
winget settings --enable BypassCertificatePinningForMicrosoftStore
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
if you have issues with... "Data required by the source is missing" be sure to update the App Installer in windows.