]> us-delaporte.pagekite.me Git - dotfiles.git/commitdiff
Move path stuff into dedicated file
authorEdward Delaporte <delaport@illinois.edu>
Wed, 4 Oct 2023 21:29:50 +0000 (16:29 -0500)
committerEdward Delaporte <delaport@illinois.edu>
Wed, 4 Oct 2023 21:29:50 +0000 (16:29 -0500)
files/Microsoft.PowerShell_profile.ps1
files/paths.ps1 [new file with mode: 0644]

index 3cba1b58fcf5ef9301a4f76df332ba4f4f802992..cca1110427ff0b552d439348a08ad8e385a2b760 100644 (file)
@@ -8,33 +8,21 @@
 #}
 # $env:PSModulePath = $env:PSModulePath.Replace("\\ad.uillinois.edu\techsvc\home\$($ENV:USERNAME)\Documents\PowerShell\Modules;",'')
 
 #}
 # $env:PSModulePath = $env:PSModulePath.Replace("\\ad.uillinois.edu\techsvc\home\$($ENV:USERNAME)\Documents\PowerShell\Modules;",'')
 
-$env:src = "~\src"
-if($IsWindows){
-  $env:src = "c:\src"
+function Add-ToProfile {
+    param (
+        $Path
+    )
+       $profileContents = [string]::join([environment]::newline, (get-content -path $Path))
+       invoke-expression $profileContents
 }
 
 }
 
+
+$env:src = "~\src"
 if($IsWindows){
 if($IsWindows){
-       # Some Paths that are annoying to find/restore if the installer fails
-       $ENV:PATH+=";$env:src\bin" # anything else I need
-       $ENV:PATH+=";C:\Program Files\Microsoft VS Code\bin" # One Editor to rule them all
-       $ENV:PATH+=";C:\Program Files\Git\cmd" # Version control is nice.
-       $ENV:PATH+=";C:\ProgramData\chocolatey\bin" # Package management is nice.
-       $ENV:PATH+=";C:\bin\x16emu" # Package management is nice.
-       $ENV:PATH+=";C:\Program Files (x86)\GnuWin32\bin" # GNU Utils - i.e. rm
-       $ENV:PATH+=";C:\PENGUIN" # Flag to ensure my profile kicked in.
-       $ENV:PATH+=";$env:src\x16-demo\tools" # x16 python tools
-       $ENV:PATH+=";$env:src\flutter\bin" # Flutter for Dart
-}
-else {
-       $ENV:PATH+=";$env:src/bin" # anything else I need
-       $ENV:PATH+=":$HOME/x16/x16-emulator" # x16 Emulator
-       $ENV:PATH+=":$HOME/src/x16-demo/tools" # x16 python tools
+  $env:src = "c:\src"
 }
 
 }
 
-# Command line tools
-$ENV:PATH+=";$env:src\chart" # command line chart utility edthedev\chart
-$ENV:PATH+=";$env:src\agenda" # command line chart utility edthedev\chart
-$ENV:PATH+=";$env:src\todolist" # todo list utility edthedev\todolist
+Add-ToProfile $env:src\dotfiles\files\paths.ps1
 $env:todolist = "C:\Users\delaport\Journal\"
 # New-Alias todo      todolist
 
 $env:todolist = "C:\Users\delaport\Journal\"
 # New-Alias todo      todolist
 
@@ -150,3 +138,5 @@ New-Alias today Get-JournalAgenda
 function Invoke-FixWslVPN {
        Get-NetAdapter | Where-Object {$_.InterfaceDescription -Match "Cisco AnyConnect Secure Mobility Client Virtual Miniport Adapter for Windows x64"} | Set-NetIPInterface -InterfaceMetric 6000
 }
 function Invoke-FixWslVPN {
        Get-NetAdapter | Where-Object {$_.InterfaceDescription -Match "Cisco AnyConnect Secure Mobility Client Virtual Miniport Adapter for Windows x64"} | Set-NetIPInterface -InterfaceMetric 6000
 }
+
+Write-Host "Real profile file is at $env:realProfile ($$env:realProfile)"
\ No newline at end of file
diff --git a/files/paths.ps1 b/files/paths.ps1
new file mode 100644 (file)
index 0000000..88d6bb8
--- /dev/null
@@ -0,0 +1,36 @@
+function Add-ToPath {
+    param (
+        $Path,
+               [switch]$Optional=$false
+    )
+       if(Test-Path $Path){
+               $ENV:PATH+=";$PATH"
+       } else {
+               if(-Not $Optional) {
+                       Write-Error "Add-ToPath failed for $PATH"
+               }
+       }
+}
+
+if($IsWindows){
+       # Some Paths that are annoying to find/restore if the installer fails
+       Add-ToPath "C:\Program Files\Git\cmd" # Version control is nice.
+       Add-ToPath "C:\Program Files\Microsoft VS Code\bin" # One Editor to rule them all
+       Add-ToPath "C:\Program Files\Git\cmd" # Version control is nice.
+       Add-ToPath "C:\ProgramData\chocolatey\bin" # Package management is nice.
+       Add-ToPath "C:\Program Files (x86)\GnuWin32\bin" # GNU Utils - i.e. rm
+       Add-ToPath "C:\bin\x16emu" -optional # X16 Emulator
+       Add-ToPath "$env:src\x16-demo\tools" -optional # x16 python tools
+       Add-ToPath "$env:src\flutter\bin" -optional # Flutter for Dart
+       Add-ToPath "$env:src\bin" -optional # anything else I need
+}
+else {
+       Add-ToPath "$env:src/bin" -optional # anything else I need
+       Add-ToPath "$HOME/x16/x16-emulator" -optional # x16 Emulator
+       Add-ToPath "$HOME/src/x16-demo/tools" -optional # x16 python tools
+}
+
+# Command line tools
+Add-ToPath "$env:src\chart" -optional # command line chart utility edthedev\chart
+Add-ToPath "$env:src\agenda" -optional # command line chart utility edthedev\chart
+Add-ToPath "$env:src\todolist" -optional # todo list utility edthedev\todolist
\ No newline at end of file