From 6f52dd194725392f424d311e03d39411c2c69be9 Mon Sep 17 00:00:00 2001 From: Edward Delaporte Date: Wed, 4 Oct 2023 16:29:50 -0500 Subject: [PATCH] Move path stuff into dedicated file --- files/Microsoft.PowerShell_profile.ps1 | 34 +++++++++--------------- files/paths.ps1 | 36 ++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 22 deletions(-) create mode 100644 files/paths.ps1 diff --git a/files/Microsoft.PowerShell_profile.ps1 b/files/Microsoft.PowerShell_profile.ps1 index 3cba1b5..cca1110 100644 --- a/files/Microsoft.PowerShell_profile.ps1 +++ b/files/Microsoft.PowerShell_profile.ps1 @@ -8,33 +8,21 @@ #} # $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){ - # 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 @@ -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 } + +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 index 0000000..88d6bb8 --- /dev/null +++ b/files/paths.ps1 @@ -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 -- 2.47.3