X-Git-Url: https://us-delaporte.pagekite.me/gitweb/dotfiles.git/blobdiff_plain/2038ce42dea7e474da0e01bea9a6e95f7b867aa6..fa256b7ffa80a67c124bdb100c009565308c8b84:/bootstrap.ps1 diff --git a/bootstrap.ps1 b/bootstrap.ps1 index 8cf3bf1..13ce10f 100644 --- a/bootstrap.ps1 +++ b/bootstrap.ps1 @@ -1,15 +1,69 @@ -# Setup my PowerShell Profile (on Windows) -if(-Not(Test-Path -Path $profile)) { - New-Item -Path "$profile" -ItemType File +<# +.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')) } -$sourceMeLine = "source $pwd/Microsoft.PowerShell_profile.ps1" -$profileContents = Get-Content $profile -if(! $profileContents -contains $sourceMeLine) { - Add-Content -Path $profile -Value $sourceMeLine + +# OWASP ZAP for web application security scanning +if($false) { + choco install zap } -# Install Chocolatey -# Install Python3 and Pip +## TODO: Can I set this via command line: chrome://flags/#enable-force-dark -# Install Stub PowerShell Profile that sources the one from DotFiles +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 +}