if status is-interactive # Commands to run in interactive sessions can go here and not set -q HERDR_ENV and command -q herdr herdr end starship init fish | source alias k=kubectl # The one alias to rule them all alias kg="kubectl get" # List resources alias kd="kubectl describe" # Detailed info alias kdr="kubectl --dry-run=client -o yaml" # Generate YAML without creating alias krun="kubectl run --dry-run=client -o yaml" # Pod YAML generator # Resource-specific shortcuts alias kgp="kubectl get pods" alias kgd="kubectl get deploy" alias kgs="kubectl get svc" alias kgn="kubectl get nodes" alias kgns="kubectl get ns" alias kgcm="kubectl get configmap" alias kgsec="kubectl get secret" # eza alias ls eza alias ll 'eza -l' alias la 'eza -a' alias lla 'eza -la' alias lt 'eza --tree' alias l. 'eza -a | grep -E "^\."' # Context switching (critical — every question may use a different namespace) alias kcn="kubectl config set-context --current --namespace" # Usage: kcn my-namespace # Delete with force for fast cleanup alias kdf="kubectl delete --force --grace-period=0" # Bind sessionizer bind \cf '~/.local/bin/sessionizer.fish' # Ctrl-F