Skip to content

Instantly share code, notes, and snippets.

@chrisg32
Last active January 18, 2024 16:22
Show Gist options
  • Save chrisg32/6a77360756c9c59218637a8a1117683e to your computer and use it in GitHub Desktop.
Save chrisg32/6a77360756c9c59218637a8a1117683e to your computer and use it in GitHub Desktop.
Easily setup a Windows dev environment using winget.

Instructions - Start Here

The scripts in this gist automate installing all the nessesary (and some unnessesary) software for my Windows development environment workload.

Steps

  1. Download winget.ps1 and visualstudio2022.vsconfig
  2. Review winget.ps1 and comment out or remove any software packages you do not want or are not licensed for
  3. From an Administrator PowerShell console run .\winget.ps1

Note: SQL server installer will indicate failure as a restart is required in order to complete the installation.

  1. Wait for the script to complete running. You may have to respond to a prompt for a few of the packages.
  2. If you want to install Spotify, from a regular non-Administrator PowerShell console run winget install -e --id Spotify.Spotify.
  3. Restart your computer.
  4. Open up the Visual Studio Installer.
  5. On your Visual Studio installation select "More" -> "Import Configuration". Navigate to and select the visualstudio2022.vsconfig you downloaded. Click "Review Details".
  6. Complete the Visual Studio Installer dialogs.

Note: Some Visual Studio modules/ids might not be found. Those are either deprecated or installed as dependencies.

{
"version": "1.0",
"components": [
"Microsoft.VisualStudio.Component.CoreEditor",
"Microsoft.VisualStudio.Workload.CoreEditor",
"Microsoft.Net.Component.4.8.SDK",
"Microsoft.Net.Component.4.7.2.TargetingPack",
"Microsoft.Net.ComponentGroup.DevelopmentPrerequisites",
"Microsoft.VisualStudio.Component.TypeScript.TSServer",
"Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions",
"Microsoft.VisualStudio.Component.JavaScript.TypeScript",
"Microsoft.VisualStudio.Component.JavaScript.Diagnostics",
"Microsoft.VisualStudio.Component.Roslyn.Compiler",
"Microsoft.Component.MSBuild",
"Microsoft.VisualStudio.Component.Roslyn.LanguageServices",
"Microsoft.VisualStudio.Component.TextTemplating",
"Component.Microsoft.VisualStudio.RazorExtension",
"Microsoft.VisualStudio.Component.IISExpress",
"Microsoft.VisualStudio.Component.NuGet",
"Microsoft.VisualStudio.Component.MSODBC.SQL",
"Microsoft.VisualStudio.Component.SQL.LocalDB.Runtime",
"Microsoft.VisualStudio.Component.Common.Azure.Tools",
"Microsoft.VisualStudio.Component.SQL.CLR",
"Microsoft.VisualStudio.Component.MSSQL.CMDLnUtils",
"Microsoft.Component.ClickOnce",
"Microsoft.VisualStudio.Component.ManagedDesktop.Core",
"Microsoft.VisualStudio.Component.SQL.SSDT",
"Microsoft.VisualStudio.Component.SQL.DataSources",
"Component.Microsoft.Web.LibraryManager",
"Component.Microsoft.WebTools.BrowserLink.WebLivePreview",
"Microsoft.VisualStudio.ComponentGroup.Web",
"Microsoft.NetCore.Component.Runtime.6.0",
"Microsoft.NetCore.Component.Runtime.7.0",
"Microsoft.NetCore.Component.SDK",
"Microsoft.VisualStudio.Component.FSharp",
"Microsoft.ComponentGroup.ClickOnce.Publish",
"Microsoft.NetCore.Component.DevelopmentTools",
"Microsoft.VisualStudio.Component.FSharp.WebTemplates",
"Microsoft.VisualStudio.Component.DockerTools",
"Microsoft.NetCore.Component.Web",
"Microsoft.VisualStudio.Component.WebDeploy",
"Microsoft.VisualStudio.Component.AppInsights.Tools",
"Microsoft.VisualStudio.Component.Web",
"Microsoft.Net.Component.4.8.TargetingPack",
"Microsoft.Net.ComponentGroup.4.8.DeveloperTools",
"Component.Microsoft.VisualStudio.Web.AzureFunctions",
"Microsoft.VisualStudio.ComponentGroup.AzureFunctions",
"Microsoft.VisualStudio.ComponentGroup.Web.CloudTools",
"Microsoft.VisualStudio.Component.DiagnosticTools",
"Microsoft.VisualStudio.Component.EntityFramework",
"Microsoft.VisualStudio.Component.Debugger.JustInTime",
"Component.Microsoft.VisualStudio.LiveShare.2022",
"Microsoft.VisualStudio.Component.WslDebugging",
"Microsoft.VisualStudio.Component.IntelliCode",
"Microsoft.VisualStudio.Component.Wcf.Tooling",
"microsoft.net.runtime.mono.tooling",
"microsoft.net.runtime.mono.tooling.net6",
"Microsoft.VisualStudio.Workload.NetWeb",
"Microsoft.VisualStudio.Component.VC.CoreIde",
"Microsoft.VisualStudio.Component.VC.Tools.x86.x64",
"Microsoft.VisualStudio.Component.Graphics.Tools",
"Microsoft.VisualStudio.Component.VC.DiagnosticTools",
"Microsoft.VisualStudio.Component.Windows11SDK.22621",
"maui.core",
"maui.blazor",
"microsoft.net.runtime.android.net6",
"microsoft.net.runtime.android.aot.net6",
"microsoft.net.runtime.android",
"microsoft.net.runtime.android.aot",
"android",
"maui.android",
"Component.OpenJDK",
"Component.Android.SDK.MAUI",
"Microsoft.VisualStudio.Component.MonoDebugger",
"Microsoft.VisualStudio.Component.Merq",
"Microsoft.VisualStudio.ComponentGroup.Maui.Android",
"runtimes.ios",
"microsoft.net.runtime.ios",
"runtimes.ios.net6",
"microsoft.net.runtime.ios.net6",
"ios",
"maui.ios",
"Component.Xamarin.RemotedSimulator",
"Microsoft.VisualStudio.ComponentGroup.Maui.iOS",
"runtimes.maccatalyst",
"microsoft.net.runtime.maccatalyst",
"runtimes.maccatalyst.net6",
"microsoft.net.runtime.maccatalyst.net6",
"maccatalyst",
"maui.maccatalyst",
"Microsoft.VisualStudio.ComponentGroup.Maui.MacCatalyst",
"maui.windows",
"Microsoft.VisualStudio.ComponentGroup.MSIX.Packaging",
"Microsoft.VisualStudio.ComponentGroup.Maui.Windows",
"Microsoft.VisualStudio.ComponentGroup.Maui.Blazor",
"Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions.TemplateEngine",
"Microsoft.VisualStudio.ComponentGroup.Maui.Shared",
"Microsoft.VisualStudio.ComponentGroup.Maui.All",
"Component.Xamarin",
"Microsoft.VisualStudio.Workload.NetCrossPlat",
"Microsoft.VisualStudio.Component.ManagedDesktop.Prerequisites",
"Microsoft.VisualStudio.Component.DotNetModelBuilder",
"Microsoft.ComponentGroup.Blend",
"Microsoft.VisualStudio.Workload.ManagedDesktop",
"Microsoft.VisualStudio.Component.VC.ATL",
"Microsoft.VisualStudio.Component.VC.ATLMFC",
"Microsoft.VisualStudio.Component.VC.Redist.14.Latest",
"Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core",
"Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions.CMake",
"Microsoft.VisualStudio.Component.VC.CMake.Project",
"Microsoft.VisualStudio.Component.VC.TestAdapterForBoostTest",
"Microsoft.VisualStudio.Component.VC.TestAdapterForGoogleTest",
"Microsoft.VisualStudio.Component.VC.ASAN",
"Microsoft.VisualStudio.Component.Windows11SDK.22000",
"Microsoft.VisualStudio.Component.Windows10SDK.20348",
"Microsoft.VisualStudio.Component.Windows10SDK.19041",
"Microsoft.VisualStudio.Component.Windows10SDK.18362",
"Microsoft.VisualStudio.Workload.NativeDesktop",
"Microsoft.Component.NetFX.Native",
"Microsoft.VisualStudio.ComponentGroup.UWP.NetCoreAndStandard",
"Microsoft.VisualStudio.Component.Graphics",
"Microsoft.VisualStudio.ComponentGroup.UWP.Xamarin",
"Microsoft.VisualStudio.ComponentGroup.UWP.Support",
"Microsoft.VisualStudio.Workload.Universal",
"Microsoft.VisualStudio.Component.Embedded",
"Microsoft.Net.Core.Component.SDK.2.1",
"Microsoft.NetCore.Component.Runtime.3.1"
]
}
#
# REQUIRED
#
winget install -e --id Mozilla.Firefox
winget install -e --id SlackTechnologies.Slack
winget install -e --id Git.Git
winget install -e --id GitExtensionsTeam.GitExtensions
winget install -e --id Microsoft.SQLServer.2022.Developer
winget install -e --id Microsoft.SQLServerManagementStudio
winget install -e --id Microsoft.VisualStudio.2022.Community
winget install -e --id Microsoft.VisualStudioCode
winget install -e --id Microsoft.RemoteDesktopClient
winget install -e --name "Azure VPN Client"
winget install -e --id Google.Chrome
winget install -e --id DBBrowserForSQLite.DBBrowserForSQLite
# Windows Subsystem for Linux
wsl --install
#
# PERSONAL LICENSED
#
winget install -e --id AgileBits.1Password
winget install -e --id Doist.Todoist
winget install -e --id Obsidian.Obsidian
winget install -e --id JetBrains.Toolbox
winget install -e --id JetBrains.Rider
winget install -e --id JetBrains.dotUltimate
winget install -e --id JetBrains.dotTrace
winget install -e --id JetBrains.DataGrip
winget install -e --id GitHub.GitHubDesktop
winget install -e --id ScooterSoftware.BeyondCompare4
winget install -e --id SublimeHQ.SublimeText.4
winget install -e --id SublimeHQ.SublimeMerge
winget install -e --id TechSmith.Snagit.2022
winget install -e --id Vysor.Vysor
winget install -e --id ExpressVPN.ExpressVPN
#
# UTILITIES
#
winget install -e --id 7zip.7zip
winget install -e --id Box.BoxTools
# winget install -e --id Google.Drive
# winget install -e --id Google.GoogleDrive
winget install -e --id Microsoft.PowerToys
#
# PERSONALIZATION
#
winget install -e --id Microsoft.BingWallpaper
# winget install -e --id Spotify.Spotify #cannot be installed from an admin console
winget install -e --id VideoLAN.VLC
winget install -e --id JanDeDobbeleer.OhMyPosh
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment