Files
dotfiles/home/Documents/PowerShell/Microsoft.PowerShell_profile.ps1.tmpl
Xevion 4d914f1e2f feat: migrate from Zsh to Fish shell with comprehensive configuration
Major shell migration replacing Zsh/Oh-My-Zsh with Fish shell:

- Remove all Zsh configurations (dot_zshrc.tmpl, dot_p10k.zsh)
- Remove Oh-My-Zsh external dependencies from .chezmoiexternal.toml
- Add complete Fish shell setup with config.fish.tmpl and abbr.fish.tmpl
- Implement Fish-native functions for lazy-loading tools (mise, pyenv, zoxide, etc.)
- Create commonrc.fish.tmpl for cross-shell compatibility
- Add Fish plugin management via Fisher (tide prompt, fzf.fish)
- Update documentation (CLAUDE.md, TODO.md, ONBOARDING.md) to reflect Fish
- Add .fish.tmpl file association to VS Code settings
- Enhance PowerShell profile with lsd aliases
- Configure git delta pager and zdiff3 merge conflict style
- Update WSL keychain integration for Fish shell

This migration maintains all existing tool integrations while improving
startup performance through lazy-loading and Fish's native features.
2025-10-27 14:45:37 -05:00

85 lines
2.6 KiB
Cheetah

# {{ template "banner.tmpl" .}}
# PowerShell Profile for Windows
# Managed by chezmoi
# Editor configuration
$env:EDITOR = "micro"
# OpenAI API Key
$env:OPENAI_API_KEY = "{{ dopplerProjectJson.OPENAI_CHATGPT_CLI }}"
# mise - polyglot tool version manager
# Activates mise if installed (provides tools like vault, node, python, etc.)
if (Get-Command mise -ErrorAction SilentlyContinue) {
Invoke-Expression (& mise activate pwsh | Out-String)
}
# ----------------------
# Core Aliases
# ----------------------
Set-Alias -Name nano -Value micro
Set-Alias -Name vim -Value nvim
Set-Alias -Name lg -Value lazygit
# Directory listing - lsd (modern ls replacement)
function ls { lsd $args }
function l { lsd -l $args }
function la { lsd -a $args }
function lla { lsd -la $args }
function lt { lsd --tree $args }
function ll { lsd -AlFh $args }
# Reload shell profile
function es { & $PROFILE }
# ----------------------
# Chezmoi Aliases
# ----------------------
Set-Alias -Name ch -Value chezmoi
function cha { chezmoi apply --interactive }
function chlg { lazygit --path {{ .chezmoi.config.sourceDir }} }
# ----------------------
# Git Aliases
# ----------------------
function ga { git add $args }
function gaa { git add . }
function gaaa { git add --all }
function gau { git add --update }
function gb { git branch $args }
function gbd { git branch --delete $args }
function gc { git commit $args }
function gcm { git commit --message $args }
function gcf { git commit --fixup $args }
function gco { git checkout $args }
function gcob { git checkout -b $args }
function gcom { git checkout master }
function gcos { git checkout staging }
function gcod { git checkout develop }
function gd { git diff $args }
function gda { git diff HEAD }
function glg { git log --graph --oneline --decorate --all }
function gld { git log --pretty=format:"%h %ad %s" --date=short --all }
function gm { git merge --no-ff $args }
function gma { git merge --abort }
function gmc { git merge --continue }
function gp { git pull $args }
function gpr { git pull --rebase $args }
function gr { git rebase $args }
function gs { git status $args }
function gss { git status --short }
function gst { git stash $args }
function gsta { git stash apply $args }
function gstd { git stash drop $args }
function gstl { git stash list }
function gstp { git stash pop $args }
function gsts { git stash save $args }
function glf { git log --all --grep="$args" }
# Clipboard aliases (Windows native)
function cdp { Set-Location (Get-Clipboard) }
# Initialize completions if available
if (Get-Command chezmoi -ErrorAction SilentlyContinue) {
chezmoi completion powershell | Out-String | Invoke-Expression
}