]> apps.delaporte.us Git - dotfiles.git/blobdiff - bootstrap.ps1
Stop spitting backup files everywhere.
[dotfiles.git] / bootstrap.ps1
index e11100fdd5c7688293b04cb825f7ad06a65e68e0..13ce10f709caf5e5ba23885c2f6906acb72e32f4 100644 (file)
@@ -12,50 +12,27 @@ Relies heavily on the Chocolatey package manager.
 #>
 
 param(
-  [Parameter(Mandatory=$true, HelpMessage="Install Development Tools")]
+  # [Parameter(Mandatory=$true, HelpMessage="Install Development Tools")]
   [switch]$dev_tools,
-  [Parameter(Mandatory=$true, HelpMessage="Install Modeling 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
 )
 
-# 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'
+## Install SSH client
+Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
 
-$doneFlagFile = "./DONE.md"
-$doBootStrap = -Not (Test-Path -Path $doneFlagFile)
-
-$profileContents = Get-Content $profile 
-if(! $profileContents -contains $sourceMeLine) {
-  Add-Content -Path $profile -Value $sourceMeLine
-}
-
-## Install Chocolatey
+## 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'))
 }
 
-# Install Python3 and Pip
-
-# Install Stub PowerShell Profile that sources the one from DotFiles
-
-# Install profile for Windows Terminal
-$destFile = "C:\Users\delaport\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\profiles.json"
-if(-Not(Test-Path -Path $destFile)) {
-  Copy-Item -Path ./profiles.json -Destination $destFile
-} else {
-  # Brute force ensure we update our git copy once in awhile.
-  Copy-Item -Path $destFile -Destination ./profiles.json
-}
-
 # OWASP ZAP for web application security scanning
 if($false) {
   choco install zap
@@ -78,6 +55,15 @@ if($dev_tools){
   ./install/dev.ps1
 }
 
-PowerShellGet\Install-Module posh-git -Scope CurrentUser -AllowPrerelease -Force
+if($vim){
+  ./install/vim.ps1
+}
+
+if($profile){
+  ./install/profile.ps1
+}
 
-choco install vim
\ No newline at end of file
+if($fav_ps_modules) {
+  Write-Host "Reminder: Need to install these modules with admin escalation."
+  ./install/admin/favorite-ps-modules.ps1
+}