Last active
October 9, 2025 08:30
-
-
Save ArturKarbone/92cec5c72bf2a7dd53263b90d77b3f1c to your computer and use it in GitHub Desktop.
provision-dev-env.ps1
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
| # Ensure winget is available | |
| if (-not (Get-Command "winget" -ErrorAction SilentlyContinue)) { | |
| Write-Error "winget is not installed. Please install from Microsoft Store: App Installer" | |
| exit 1 | |
| } | |
| Write-Output "Installing development tools..." | |
| # Package list | |
| $apps = @( | |
| @{ name = "Microsoft.VisualStudio.2022.Professional" }, # Visual Studio 2022 Professional | |
| @{ name = "Microsoft.VisualStudio.2022.Community" }, # Visual Studio 2022 Community | |
| @{ name = "Microsoft.VisualStudioCode" }, # VS Code | |
| @{ name = "JetBrains.Rider" }, # JetBrains Rider | |
| @{ name = "Git.Git" }, # Git | |
| @{ name = "Microsoft.SQLServerManagementStudio.21" }, | |
| # @{ name = "Microsoft.SQLServerManagementStudio" }, # SSMS | |
| # @{ name = "Microsoft.SQLServer.2019.Developer" }, # SQL Server Developer | |
| @{ name = "Docker.DockerDesktop" }, # Docker Desktop | |
| @{ name = "RedHat.Podman-Desktop" }, # Podman Desktop | |
| @{ name = "Microsoft.SQLServer.2019.Express" }, # SQL Server Express 2019 | |
| @{ name = "Microsoft.SQLServer.2022.Express"}, # SQL Server Express 2022 | |
| @{ name = "Microsoft.AzureDataStudio" }, # Azure Data Studio | |
| @{ name = "Microsoft.DotNet.SDK.5" }, # .NET SDK 5 | |
| @{ name = "Microsoft.DotNet.SDK.6" }, # .NET SDK 6 | |
| @{ name = "Microsoft.DotNet.SDK.7" }, # .NET SDK 7 | |
| @{ name = "Microsoft.DotNet.SDK.8" }, # .NET SDK 8 | |
| @{ name = "Microsoft.DotNet.SDK.9" }, # .NET SDK 9 | |
| @{ name = "Microsoft.DotNet.SDK.10" }, # .NET SDK 10 (preview if not GA yet) | |
| @{ name = "Apache.OpenOffice" }, # Open Office | |
| @{ name = "Obsidian.Obsidian" } # Obsidian | |
| ) | |
| foreach ($app in $apps) { | |
| Write-Output "Installing $($app.name)..." | |
| winget install --id $app.name --silent --accept-package-agreements --accept-source-agreements | |
| } | |
| # Optional: Configure Git (example) | |
| Write-Output "Configuring Git..." | |
| # git config --global user.name "Your Name" | |
| # git config --global user.email "you@example.com" | |
| # git config --global core.autocrlf true | |
| # git config --global init.defaultBranch main | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment