X-Git-Url: https://apps.delaporte.us/gitweb/dotfiles.git/blobdiff_plain/791b9881f7fb38347cce12d1965d5ca58d54bcc3..e6f0b6a195641396f43d2c25771b36afb4cd0b78:/files/Microsoft.PowerShell_profile.ps1 diff --git a/files/Microsoft.PowerShell_profile.ps1 b/files/Microsoft.PowerShell_profile.ps1 index 3cba1b5..f741f1b 100644 --- a/files/Microsoft.PowerShell_profile.ps1 +++ b/files/Microsoft.PowerShell_profile.ps1 @@ -1,152 +1,57 @@ -#WebDriverException: Message: unknown error: cannot determine loading status .EXAMPLE -# . C:\src\dotfiles\Microsoft.PowerShell_profile.ps1 - -# Courtesty of MKletz -# Get-ChildItem -Path 'C:\Repos' -Filter "*.psd1" -Recurse | ForEach-Object -Process { -# $Path = Split-Path -Path $_.Directory -Parent -# $env:PSModulePath = $env:PSModulePath + ";$($Path)" -#} -# $env:PSModulePath = $env:PSModulePath.Replace("\\ad.uillinois.edu\techsvc\home\$($ENV:USERNAME)\Documents\PowerShell\Modules;",'') - -$env:src = "~\src" -if($IsWindows){ - $env:src = "c:\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 -} - -# 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 -$env:todolist = "C:\Users\delaport\Journal\" -# New-Alias todo todolist - -# alias renumber $HOME/src/x16-demo/ - -$env:Journal = "~\Journal" # allows cd $env:journal -# $env:minion = "$env:src\minion" - -# Import some home grown PowerShell modules, if they are installed. -# -$modPaths = Get-Childitem -ErrorAction Ignore -Path "$env:src\dotfiles\psmodules" -# $modPaths += Get-Childitem -ErrorAction Ignore -Path "$env:minion\psmodule" - -# https://github.com/uillinois-community/powershell-scripts -# $modPaths += Get-Childitem -ErrorAction Ignore -Path "$env:src\powershell-scripts\modules" - -# Windows Only Modules -# if($IsWindows){ -# $modPaths += Get-Childitem -ErrorAction Ignore -Path "$env:src\dotfiles\win_psmodules" -# } -# if($modPaths.length -eq 0){ -# Write-Host "No modules found." -# } - -# $enabledMods = 'dash.psm1','docker.psm1'; -# $modPaths | ForEach-Object { -# $fileName = $_.FullName -# if($enabledModules -Contains $_.Name ){ -# if($filename -Like "*.psm1") { -# Import-Module $fileName -# Write-Host ">> Loaded $fileName" -# } -# } -# } - - - -# Linux-like up/down in shell -Set-PSReadlineKeyHandler -Key UpArrow -Function HistorySearchBackward -Set-PSReadlineKeyHandler -Key DownArrow -Function HistorySearchForward -Set-PSReadlineOption -HistorySavePath $env:src\PSHistory.log - -# Minion alias commands - 'today' -# . C:\src\minion\profiles\alias.ps1 -# . $env:minion\profiles\alias.ps1 -# Add Minion go executable to path. -# . $env:minion\profiles\path.ps1 -# Add Minion to path -# Write-Host "+ Added minion command to path." -# if($IsWindows){ -# $ENV:PATH+=";$env:minion\go" # Flag to ensure my profile kicked in. -# } - -# Unix dies hard. -New-Alias which get-command -# New-Alias rm Remove-Item +$env:src = "$HOME\src" +$env:dotfiles = "$HOME\dotfiles" +Import-Module $env:dotfiles\psmodules\add_to_profile.psm1 +Add-ToProfile $env:dotfiles\files\paths.ps1 +Add-ToProfile $env:dotfiles\files\env.ps1 # Delay loading PoshGit for speed. function Enable-PoshGit { Import-Module posh-git } New-Alias pg Enable-PoshGit -Write-Host "+ Type 'pg' to enable PoshGit" -function Invoke-X16Emu { - param( - [string]$File - ) - x16emu.exe -bas $File -keymap en-us -} +Set-Alias code codium # Prefer Codium -New-Alias x16 Invoke-X16Emu +# Dashboard +New-Alias dash Show-MyDashboard # from dash.psm1 +New-Alias today Get-JournalAgenda -if((Get-Location).Path -eq $HOME){ - cd $env:src +# You can pry my unix commands out of my cold dead fingers +if($iswindows) { + Set-Alias which get-command } +# Reject Windows heritage, act like Vi +# Set-PSReadlineOption -HistorySavePath $env:src\PSHistory.log +Set-PSReadlineOption -BellStyle Visual +Set-PSReadlineOption -ViModeIndicator Prompt +Set-PSReadlineOption -EditMode Vi -function Get-GitLog() { - git log --oneline -} +Write-Host "+ Type 'pg' to enable PoshGit" +Write-Host 'See $env:realProfile for version controlled profile file.' -function Get-GitStatus() { - git status -b --short -} +# Load dotfiles modules +$env:psmodules = "$env:dotfiles\psmodules" +Import-Module "$env:psmodules\dash.psm1" +Import-Module $env:psmodules\file_management.psm1 +Import-Module "$env:psmodules\fix_vpn.psm1" -# Tell my scripts which GitHub repositories to look in. -$env:GITHUB_USERNAME = 'edthedev' -$env:GITHUB_REPOS = @( - 'techservicesillinois/SecOps-Tools', - 'techservicesillinois/secdev-job-aids', - 'techservicesillinois/awscli-login', - 'techservicesillinois/farmit', - 'uillinois-community/uillinois-community.github.io', - 'techservicesillinois/SecOps-Powershell-CSOC', - 'techservicesillinois/SecOps-Powershell-CISDSC', - 'techservicesillinois/secops-splunk-null-router' -) -join ' ' -$ENV:TS_REPOS = $ENV:GITHUB_REPOS.split(' ') | Where { $_ -like 'techser*' } -# Nice for git -New-Alias ol Get-GitLog -New-Alias st Get-GitStatus +$maybe_mods = @( + "$env:src\travel-times\travel-times.psm1", + "$env:src\powershell-scripts\modules\AgileGitHubCLI.psm1" + ) +$maybe_mods | ForEach-Object { + if(Test-Path $_) { + Import-Module $_ + } else { + Write-Host "Not found: $_" + } +} -# Dashboard -New-Alias dash Show-MyDashboard # from dash.psm1 -function Get-JournalAgenda() { - agenda.exe -path "$HOME/Journal/{YYYY}/{MM}-{DD}.md" -} -New-Alias today Get-JournalAgenda +# Load local source modules +# Import-Module $env:src\powershell-scripts\modules\MarkdownGitHub.psm1 -function Invoke-FixWslVPN { - Get-NetAdapter | Where-Object {$_.InterfaceDescription -Match "Cisco AnyConnect Secure Mobility Client Virtual Miniport Adapter for Windows x64"} | Set-NetIPInterface -InterfaceMetric 6000 -} +# Let's face it, I'm about to cd into my source directory +if((Get-Location).Path -eq $HOME){ cd $env:src }