-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpost-install.ps1
More file actions
145 lines (125 loc) · 7.79 KB
/
post-install.ps1
File metadata and controls
145 lines (125 loc) · 7.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# Install NodeJS
nvm install lts
nvm use lts
################################################################################################################################################
# https://angular.dev
# Install Angular CLI
npm install -g @angular/cli
#https://vite.dev
npm install -D vite
################################################################################################################################################
# Install .NET Tools
dotnet tool update --global dotnet-ef
dotnet tool update --global microsoft.dataapibuilder
dotnet tool update -g microsoft.sqlpackage # Required to generate DACPAC files
dotnet tool update -g dotnet-stryker # https://stryker-mutator.io/docs/stryker-net/introduction/
dotnet tool update -g Microsoft.OpenApi.Kiota # https://learn.microsoft.com/en-us/openapi/kiota/install
################################################################################################################################################
# Install VSCode Extensions
code --install-extension ms-dotnettools.csharp
code --install-extension ms-dotnettools.csdevkit
code --install-extension ms-dotnettools.vscodeintellicode-csharp
code --install-extension JetBrains.resharper-code
code --install-extension ms-mssql.mssql
code --install-extension ms-mssql.sql-database-projects-vscode
code --install-extension ms-vscode-remote.remote-containers
code --install-extension ms-vscode-remote.remote-wsl
code --install-extension AmazonWebServices.aws-toolkit-vscode
code --install-extension GitHub.copilot-chat
code --install-extension GitHub.vscode-pull-request-github
code --install-extension GitHub.vscode-github-actions
code --install-extension Anthropic.claude-code
code --install-extension ms-kubernetes-tools.vscode-kubernetes-tools
code --install-extension ms-playwright.playwright
code --install-extension ms-vscode.PowerShell
code --install-extension eamodio.gitlens
code --install-extension ms-azuretools.vscode-docker
code --install-extension dbaeumer.vscode-eslint
code --install-extension DavidAnson.vscode-markdownlint
code --install-extension SonarSource.sonarlint-vscode
code --install-extension garrytrinder.dev-proxy-toolkit
code --install-extension Postman.postman-for-vscode
code --install-extension esbenp.prettier-vscode
code --install-extension burkeholland.simple-react-snippets
code --install-extension dsznajder.es7-react-js-snippets
code --install-extension ms-vsliveshare.vsliveshare
code --install-extension ms-edgedevtools.vscode-edge-devtools
code --install-extension pflannery.vscode-versionlens
code --install-extension usernamehw.errorlens
code --install-extension quicktype.quicktype # Paste JSON as Code (C#/TypeScript)
code --install-extension ms-vscode-remote.vscode-remote-extensionpack
code --install-extension bierner.markdown-mermaid
code --install-extension ms-dotnettools.dotnet-interactive-vscode #Polyglot Notebooks. Use multiple languages (C#, SQL, Mermaid) in one notebook.
################################################################################################################################################
# IIS features
dism /online /enable-feature /featurename:IIS-WebServerRole /all /norestart
dism /online /enable-feature /featurename:IIS-WebServer /all /norestart
dism /online /enable-feature /featurename:IIS-CommonHttpFeatures /all /norestart
dism /online /enable-feature /featurename:IIS-HttpErrors /all /norestart
dism /online /enable-feature /featurename:IIS-HttpRedirect /all /norestart
dism /online /enable-feature /featurename:IIS-ApplicationDevelopment /all /norestart
dism /online /enable-feature /featurename:IIS-Security /all /norestart
dism /online /enable-feature /featurename:IIS-RequestFiltering /all /norestart
dism /online /enable-feature /featurename:IIS-NetFxExtensibility45 /all /norestart
dism /online /enable-feature /featurename:IIS-HealthAndDiagnostics /all /norestart
dism /online /enable-feature /featurename:IIS-HttpLogging /all /norestart
dism /online /enable-feature /featurename:IIS-URLAuthorization /all /norestart
dism /online /enable-feature /featurename:IIS-IPSecurity /all /norestart
dism /online /enable-feature /featurename:IIS-Performance /all /norestart
dism /online /enable-feature /featurename:IIS-WebServerManagementTools /all /norestart
dism /online /enable-feature /featurename:IIS-StaticContent /all /norestart
dism /online /enable-feature /featurename:IIS-DefaultDocument /all /norestart
dism /online /enable-feature /featurename:IIS-DirectoryBrowsing /all /norestart
dism /online /enable-feature /featurename:IIS-ISAPIFilter /all /norestart
dism /online /enable-feature /featurename:IIS-ISAPIExtensions /all /norestart
dism /online /enable-feature /featurename:IIS-ASPNET45 /all /norestart
dism /online /enable-feature /featurename:IIS-CGI /all /norestart
dism /online /enable-feature /featurename:IIS-BasicAuthentication /all /norestart
dism /online /enable-feature /featurename:IIS-HttpCompressionStatic /all /norestart
dism /online /enable-feature /featurename:IIS-ManagementConsole /all /norestart
dism /online /enable-feature /featurename:IIS-WebSockets /all /norestart
################################################################################################################################################
# Firefox Extensions
# https://addons.mozilla.org/en-US/firefox/addon/react-devtools/
# PSReadLine
################################################################################################################################################
Install-Module PSReadLine -Force;
Install-Module PSMux -Force;
New-Item -Path $PROFILE -ItemType File -Force
Add-Content -Path $PROFILE -Value "Set-PSReadLineOption -PredictionViewStyle ListView -PredictionSource History -HistoryNoDuplicates -MaximumHistoryCount 10000"
################################################################################################################################################
# VSCode Settings
################################################################################################################################################
Write-Host "Import VSCode Configuration"
Copy-Item -Path ".\settings.json" `
-Destination "$env:USERPROFILE\AppData\Roaming\Code\User\settings.json" `
-Force `
-Verbose
################################################################################################################################################
# Import Visual Studio Workloads
################################################################################################################################################
Write-Host "Download vs_community.exe to $outFilePath."
$downloadUrl = "https://aka.ms/vs/18/release/vs_community.exe"
$outFilePath = ".\vs_community.exe"
Invoke-WebRequest -Uri $downloadUrl -OutFile $outFilePath -UseBasicParsing
Write-Host "Import Visual Studio 2026 Configuration"
.\vs_community.exe --config ".\workloads.vsconfig" --passive --norestart
################################################################################################################################################
# WSL 2
dism /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
wsl --install
wsl --set-default-version 2
wsl --install -d Ubuntu
# WSL Configuration
################################################################################################################################################
Write-Host "Configure WSL settings"
if (Test-Path ".\.wslconfig") {
Copy-Item -Path ".\.wslconfig" `
-Destination "$env:USERPROFILE\.wslconfig" `
-Force `
-Verbose
} else {
Write-Warning ".wslconfig file not found in current directory"
}
################################################################################################################################################