X-Git-Url: https://us-delaporte.pagekite.me/gitweb/dotfiles.git/blobdiff_plain/9c2c4a0b2ea074b3e49b260cf4557abcf0ccc45a..fc16d2cc370f7f53d7215b1074278506f174d9b8:/files/Microsoft.PowerShell_profile.ps1 diff --git a/files/Microsoft.PowerShell_profile.ps1 b/files/Microsoft.PowerShell_profile.ps1 index af33388..2bbdf46 100644 --- a/files/Microsoft.PowerShell_profile.ps1 +++ b/files/Microsoft.PowerShell_profile.ps1 @@ -1,142 +1,44 @@ -#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;",'') - -function Add-ToProfile { - param ( - $Path - ) - $profileContents = [string]::join([environment]::newline, (get-content -path $Path)) - invoke-expression $profileContents -} - - -$env:src = "~\src" -if($IsWindows){ - $env:src = "c:\src" -} - -Add-ToProfile $env:src\dotfiles\files\paths.ps1 -$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 -} - -New-Alias x16 Invoke-X16Emu - -if((Get-Location).Path -eq $HOME){ - cd $env:src -} - -function Get-GitLog() { - git log --oneline -} - -function Get-GitStatus() { - git status -b --short -} - -# 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 +Set-Alias code codium # Prefer Codium # 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 -function Invoke-FixWslVPN { - Get-NetAdapter | Where-Object {$_.InterfaceDescription -Match "Cisco AnyConnect Secure Mobility Client Virtual Miniport Adapter for Windows x64"} | Set-NetIPInterface -InterfaceMetric 6000 +# 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 + +Write-Host "+ Type 'pg' to enable PoshGit" +Write-Host 'See $env:realProfile for version controlled profile file.' + +# 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" +Import-Module $env:psmodules\house_shopping.psm1 + +# Load local source modules +Import-Module $env:src\powershell-scripts\modules\AgileGitHubCLI.psm1 +# Import-Module $env:src\powershell-scripts\modules\MarkdownGitHub.psm1 -# Write-Host "Real profile file is at $env:realProfile ($$env:realProfile)" \ No newline at end of file +# Let's face it, I'm about to cd into my source directory +if((Get-Location).Path -eq $HOME){ cd $env:src }