zsh config: zshrc, path, aliases (ported from fish), extras, functions, plugins
This commit is contained in:
1 parent
5e0e96e8e2
commit
8bb8a44dbd
6 files changed
+223
No files matched your search
@@ -0,0 +1,59 @@
|
||||
# ~/.zshrc shim (managed by bootstrap) sources this file via ZDOTDIR.
|
||||
# Edit freely; re-run the shell-zsh step to re-sync from the repo if needed.
|
||||
|
||||
# ── oh-my-zsh bootstrap ────────────────────────────────────────────────────
|
||||
export ZSH="${ZSH:-$HOME/.oh-my-zsh}"
|
||||
export ZSH_CUSTOM="${ZSH_CUSTOM:-$ZSH/custom}"
|
||||
|
||||
# theme disabled — we use starship (init at the bottom)
|
||||
ZSH_THEME=""
|
||||
|
||||
# casewise history
|
||||
HISTFILE="$HOME/.local/state/zsh/history"
|
||||
HISTSIZE=100000
|
||||
SAVEHIST=100000
|
||||
setopt EXTENDED_HISTORY SHARE_HISTORY HIST_IGNORE_DUPS HIST_IGNORE_SPACE HIST_VERIFY
|
||||
setopt AUTO_CD PUSHD_IGNORE_DUPS PROMPT_SUBST
|
||||
setopt INTERACTIVE_COMMENTS
|
||||
|
||||
# load the modular pieces (order matters)
|
||||
[[ -f "$ZDOTDIR/path.zsh" ]] && source "$ZDOTDIR/path.zsh"
|
||||
[[ -f "$ZDOTDIR/aliases.zsh" ]] && source "$ZDOTDIR/aliases.zsh"
|
||||
[[ -f "$ZDOTDIR/aliases-extras.zsh" ]] && source "$ZDOTDIR/aliases-extras.zsh"
|
||||
[[ -f "$ZDOTDIR/functions.zsh" ]] && source "$ZDOTDIR/functions.zsh"
|
||||
|
||||
# ── completion styling (set before omz runs compinit) ───────────────
|
||||
autoload -Uz compinit
|
||||
zstyle ':completion:*' menu select
|
||||
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'
|
||||
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
|
||||
|
||||
# oh-my-zsh + plugins (omz runs compinit internally; lists our plugins)
|
||||
[[ -f "$ZDOTDIR/plugins.zsh" ]] && source "$ZDOTDIR/plugins.zsh"
|
||||
|
||||
# ── standard zsh niceties ─────────────────────────────────────────────
|
||||
autoload -U edit-command-line
|
||||
zle -N edit-command-line
|
||||
bindkey '^X^E' edit-command-line
|
||||
|
||||
|
||||
# ... -> ../.. expansion (ported from fish)
|
||||
rationalise-dot() {
|
||||
if [[ $LBUFFER = *.. ]]; then LBUFFER+=/; else LBUFFER+=.; fi
|
||||
}
|
||||
zle -N rationalise-dot
|
||||
bindkey . rationalise-dot
|
||||
|
||||
# ── keychain (commented) — fill in the key labels you use on this box ────
|
||||
# if command -v keychain >/dev/null 2>&1; then
|
||||
# keychain --quiet --nogui id_ed25519 # <- your server-relevant key(s) here
|
||||
# [[ -f "$HOME/.keychain/$(hostname)-sh" ]] && source "$HOME/.keychain/$(hostname)-sh"
|
||||
# fi
|
||||
|
||||
# ── integrations ────────────────────────────────────────────────────────────
|
||||
command -v zoxide >/dev/null 2>&1 && eval "$(zoxide init zsh)"
|
||||
command -v fzf >/dev/null 2>&1 && [[ -f "$HOME/.fzf.zsh" ]] && source "$HOME/.fzf.zsh"
|
||||
# ── starship prompt ─────────────────────────────────────────────────────────
|
||||
if command -v starship >/dev/null 2>&1; then
|
||||
eval "$(starship init zsh)"
|
||||
fi
|
||||
Reference in new issue
Block a user