From: EdTheDev Date: Sun, 7 Feb 2021 20:31:54 +0000 (-0600) Subject: Lazy load PoshGit for faster startup. X-Git-Url: https://apps.delaporte.us/gitweb/dotfiles.git/commitdiff_plain/7f8534a0ad54e854ab4d70b0bd45e2c05369aece Lazy load PoshGit for faster startup. --- diff --git a/Microsoft.PowerShell_profile.ps1 b/Microsoft.PowerShell_profile.ps1 index 5b5d455..7a83696 100644 --- a/Microsoft.PowerShell_profile.ps1 +++ b/Microsoft.PowerShell_profile.ps1 @@ -1,35 +1,39 @@ # .EXAMPLE # . C:\src\dotfiles\Microsoft.PowerShell_profile.ps1 -Import-Module posh-git # 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:PSModulePath = $env:PSModulePath.Replace("\\ad.uillinois.edu\techsvc\home\$($ENV:USERNAME)\Documents\PowerShell\Modules;",'') if($IsWindows -eq "") { # Bootstrap for older PowerShell $IsWindows = ($env:OS -eq "Windows_NT") } -if($IsWindows){ - # Some Paths that are annoying to find/restore if the installer fails - $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:\PENGUIN" # Flag to ensure my profile kicked in. -} + +#if($IsWindows){ +# # Some Paths that are annoying to find/restore if the installer fails +# $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:\PENGUIN" # Flag to ensure my profile kicked in. +#} # Import some home grown PowerShell modules, if they are installed. -$modPaths = @("C:\src\dotfiles\ToyBox\toybox.psm1") + +$modPaths = Get-Childitem -Path "c:\src\dotfiles\psmodules" $modPaths | ForEach-Object { - $_ | Format-Table +# $_ | Format-Table if(Test-Path -Path $_) { Import-Module $_ - Write-Host "Loaded $_" - } + Write-Host ">> Loaded $_" + } } +#} +# $env:PSModulePath = $env:PSModulePath + ";c:\src\dotfiles\psmodules" + # Linux-like up/down in shell Set-PSReadlineKeyHandler -Key UpArrow -Function HistorySearchBackward @@ -42,4 +46,12 @@ Set-PSReadlineOption -HistorySavePath c:\temp\PSHistory.log # Unix dies hard. New-Alias which get-command +# Delay loading PoshGit for speed. +function Enable-PoshGit { + Import-Module posh-git +} +New-Alias pg Enable-PoshGit +Write-Host "+ Type 'pg' to enable PoshGit" + # cd c:\src +# diff --git a/Toybox/toybox.psm1 b/Toybox/toybox.psm1 deleted file mode 100644 index 6498e9f..0000000 --- a/Toybox/toybox.psm1 +++ /dev/null @@ -1,24 +0,0 @@ -$TOYBOX_ROOT = "C:\src\dotfiles\toybox" - -# function Start-DockerPythonWhatever { -# docker run -it python /bin/bash -# } - -# Export-ModuleMember -Function Start-DockerPythonWhatever -# -function List-LargeFiles() { - Get-ChildItem c:\ -r| sort -descending -property length | select -first 10 name, Length, FullName -} - -function Get-DriveSpace() { - Get-PSDrive C | Select-Object Used,Free -} - -# function Export-VSCodeExtensions { -# code --list-extensions | Out-File -FilePath /src/dotfiles/vscode-extensions.txt -# Get-Content -Path /src/dotfiles/vscode-extensions.txt -#} - -Export-ModuleMember -Function Get-DriveSpace -Export-ModuleMember -Function List-LargeFiles - diff --git a/psmodules/docker.psm1 b/psmodules/docker.psm1 new file mode 100644 index 0000000..13c8639 --- /dev/null +++ b/psmodules/docker.psm1 @@ -0,0 +1,16 @@ +<# +.SYNPOSIS + +Spin up a quick Python docker container. + +#> +function Start-DockerPython{ + docker run -it python /bin/bash +} + +Export-ModuleMember -Function Start-DockerPython + +# function Export-VSCodeExtensions { +# code --list-extensions | Out-File -FilePath /src/dotfiles/vscode-extensions.txt +# Get-Content -Path /src/dotfiles/vscode-extensions.txt +#} diff --git a/psmodules/drivespace.psm1 b/psmodules/drivespace.psm1 new file mode 100644 index 0000000..47072d8 --- /dev/null +++ b/psmodules/drivespace.psm1 @@ -0,0 +1,22 @@ +<# +.SYNOPSIS + +Find 10 largest files on the C drive. + +#> +function Show-LargeFiles() { + Get-ChildItem c:\ -r| sort -descending -property length | select -first 10 name, Length, FullName +} + +<# +.SYNPOSIS + +Display the free space on the C drive. + +#> +function Show-Drivespace() { + Get-PSDrive C | Select-Object Used,Free +} + +Export-ModuleMember -Function Show-Drivespace +Export-ModuleMember -Function Show-LargeFiles diff --git a/psmodules/legacy.psm1 b/psmodules/legacy.psm1 new file mode 100644 index 0000000..af991cd --- /dev/null +++ b/psmodules/legacy.psm1 @@ -0,0 +1,10 @@ +<# +.SYNPOSIS + +Get latest sources for legacy backups. + +#> +function Foo { + +} +