]> us-delaporte.pagekite.me Git - dotfiles.git/blobdiff - bootstrap.ps1
More vimrc cleanup.
[dotfiles.git] / bootstrap.ps1
index 2d1fd1a1dcf32be8e4e54d26a75914cda3c9b60f..2dab24f6090fee1282d5c61f2d2bb7fc605ca9ba 100644 (file)
@@ -1,19 +1,47 @@
+<#
+.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,
+)
+
 # Setup my PowerShell Profile (on Windows)
 if(-Not(Test-Path -Path $profile)) {
   New-Item -Path "$profile" -ItemType File
 }
 # Setup my PowerShell Profile (on Windows)
 if(-Not(Test-Path -Path $profile)) {
   New-Item -Path "$profile" -ItemType File
 }
+
 $sourceMeFile = "$pwd\Microsoft.PowerShell_profile.ps1"
 $sourceMeLine = '$profileContents = [string]::join([environment]::newline, (get-content -path'
 $sourceMeLine += $sourceMeFile
 $sourceMeLine += '));invoke-expression $profileContents'
 
 $sourceMeFile = "$pwd\Microsoft.PowerShell_profile.ps1"
 $sourceMeLine = '$profileContents = [string]::join([environment]::newline, (get-content -path'
 $sourceMeLine += $sourceMeFile
 $sourceMeLine += '));invoke-expression $profileContents'
 
-Write-Host $sourceMeLine
+$doneFlagFile = "./DONE.md"
+$doBootStrap = -Not (Test-Path -Path $doneFlagFile)
 
 $profileContents = Get-Content $profile 
 if(! $profileContents -contains $sourceMeLine) {
   Add-Content -Path $profile -Value $sourceMeLine
 }
 
 $profileContents = Get-Content $profile 
 if(! $profileContents -contains $sourceMeLine) {
   Add-Content -Path $profile -Value $sourceMeLine
 }
-# Install Chocolatey
+
+## Install Chocolatey
+$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'))
+}
 
 # Install Python3 and Pip
 
 
 # Install Python3 and Pip
 
@@ -28,9 +56,32 @@ if(-Not(Test-Path -Path $destFile)) {
   Copy-Item -Path $destFile -Destination ./profiles.json
 }
 
   Copy-Item -Path $destFile -Destination ./profiles.json
 }
 
-# Vault for secret management
-# ... and really for coding better intergrations i.e. for RobotFramework
+# OWASP ZAP for web application security scanning
 if($false) {
 if($false) {
-  choco install consul
-  choco install vault
-}
\ No newline at end of file
+  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
+}
+
+PowerShellGet\Install-Module posh-git -Scope CurrentUser -AllowPrerelease -Force
+
+choco install vim
+
+# Install vim-plug
+iwr -useb https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim |`
+    ni $HOME/vimfiles/autoload/plug.vim -Force