Skip to content

Latest commit

 

History

History
65 lines (49 loc) · 1.96 KB

File metadata and controls

65 lines (49 loc) · 1.96 KB

Shell

Zsh is the login shell for raioviajante (/usr/bin/zsh). Bash stays installed and untouched for scripts and rescue.

Versions

Tool Version Source
Zsh 5.9 Fedora
Starship 1.26.0 prompt
zoxide 0.9.8 directory jump
fzf 0.74.3 fuzzy finder
ripgrep 15.2.0 rg
fd 10.4.2 file find
eza 0.23.5 ls replacement
bat 0.26.1 pager / cat
tmux 3.7c multiplexer

Install from Fedora repositories:

sudo dnf install zsh starship zoxide fzf ripgrep fd-find eza bat tmux
chsh -s /usr/bin/zsh

Zsh layout

~/.zshrc is a thin entry point that sources modules from ~/.config/zsh/:

~/.zshrc                        entry point, sources the modules below
~/.config/zsh/options.zsh       PATH (~/.local/bin first, unique), AUTO_CD, comments, no beep
~/.config/zsh/history.zsh       HISTFILE, 100k lines, dedup + SHARE_HISTORY
~/.config/zsh/completion.zsh    compinit with cached zcompdump, menu select
~/.config/zsh/aliases.zsh       eza/bat convenience aliases
~/.config/zsh/integrations.zsh  pnpm, fnm, fzf, zoxide, starship, SDKMAN

History is stored outside $HOME root at ~/.local/state/zsh/history (XDG state dir).

integrations.zsh load order

export PNPM_HOME="$HOME/.local/share/pnpm"
path=("$PNPM_HOME/bin" $path)

if [[ -x "$HOME/.local/share/fnm/fnm" ]]; then
  path=("$HOME/.local/share/fnm" $path)
  eval "$(fnm env --use-on-cd --shell zsh)"
fi

(( $+commands[fzf] ))     && source <(fzf --zsh)
(( $+commands[zoxide] ))  && eval "$(zoxide init zsh)"
(( $+commands[starship] ))&& eval "$(starship init zsh)"

export SDKMAN_DIR="$HOME/.sdkman"
[[ -s "$SDKMAN_DIR/bin/sdkman-init.sh" ]] && source "$SDKMAN_DIR/bin/sdkman-init.sh"

fnm --use-on-cd and SDKMAN's init must both stay in the interactive path so .node-version / .nvmrc and .sdkmanrc switch automatically on cd.

This repository records the structure, not the exact dotfile contents.