X-Git-Url: https://apps.delaporte.us/gitweb/dotfiles.git/blobdiff_plain/da8a7917a927a450a7f5543d9eeb85a657d84ca2..126b0dce95e074cd8bfadbeae819e7ba91bdc997:/bootstrap.ps1?ds=inline diff --git a/bootstrap.ps1 b/bootstrap.ps1 index 985e7ad..13ce10f 100644 --- a/bootstrap.ps1 +++ b/bootstrap.ps1 @@ -1,46 +1,36 @@ -# 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' - -# Write-Host $sourceMeLine +<# +.SYNOPSIS -$doneFlagFile = "./DONE.md" -$doBootStrap = -Not (Test-Path -Path $doneFlagFile) +Setup my Windows PowerShell environment. -$profileContents = Get-Content $profile -if(! $profileContents -contains $sourceMeLine) { - Add-Content -Path $profile -Value $sourceMeLine -} +.DESCRIPTION -# TODO Install Chocolatey +.NOTES -if($false) { - choco install docker-desktop -} +Relies heavily on the Chocolatey package manager. -# Install Python3 and Pip +#> -# Install Stub PowerShell Profile that sources the one from DotFiles +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 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 -} +## Install SSH client +Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0 -# Vault for secret management -# ... and really for coding better intergrations i.e. for RobotFramework -if($false) { - choco install consul - choco install vault +## 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 @@ -48,10 +38,6 @@ if($false) { choco install zap } -# Install GNU Make for Windows -if($false) { - choco install make -} ## TODO: Can I set this via command line: chrome://flags/#enable-force-dark if($doBootStrap) { @@ -60,6 +46,24 @@ if($doBootStrap) { } # ArchiMate for enterprise modeling -if($false) { +if($archi) { choco install archi -} \ No newline at end of file +} + +# 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 +}