Zsh is the login shell for raioviajante (/usr/bin/zsh). Bash stays installed
and untouched for scripts and rescue.
| 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~/.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).
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.