+<#
+.SYNOPSIS
+
+Setup my Windows PowerShell environment.
+
+.DESCRIPTION
+
+.NOTES
+
+Relies heavily on the Chocolatey package manager.
+
+#>
+
+param(
+ # [Parameter(Mandatory=$true, HelpMessage="Install Development Tools")]
+ [switch]$dev_tools,
+ # [Parameter(Mandatory=$true, HelpMessage="Install Modeling Tools")]
+ [switch]$archi,
+ # [Parameter(Mandatory=$true, HelpMessage="Install Vim")]
+ [switch]$vim,
+ # [Parameter(Mandatory=$true, HelpMessage="Setup PowerShell Profile")]
+ [switch]$profile,
+ [switch]$fav_ps_modules
+)
+
+## Install SSH client
+Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
+
+## Always Install Chocolatey if missing
+$testchoco = powershell choco -v
+if(-not($testchoco)){
+ Write-Output "Seems Chocolatey is not installed, installing now..."
+ Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
+}
+
+# OWASP ZAP for web application security scanning
+if($false) {
+ choco install zap
+}
+
+## TODO: Can I set this via command line: chrome://flags/#enable-force-dark
+
+if($doBootStrap) {
+ # DONE!
+ New-Item -ItemType File -Path $doneFlagFile
+}
+
+# ArchiMate for enterprise modeling
+if($archi) {
+ choco install archi
+}
+
+# Install dev tools
+if($dev_tools){
+ ./install/dev.ps1
+}
+
+if($vim){
+ ./install/vim.ps1
+}
+
+if($profile){
+ ./install/profile.ps1
+}
+
+if($fav_ps_modules) {
+ Write-Host "Reminder: Need to install these modules with admin escalation."
+ ./install/admin/favorite-ps-modules.ps1
+}