A structured, cross-platform dotfiles setup for fast provisioning on macOS and Linux with Bash or Zsh. This repo favors portable shell config, predictable layout, and clean install via symlinks.
./install.shThis will symlink the relevant files into $HOME:
- Bash:
~/.bashrc,~/.bash_profile - Zsh:
~/.zshrc,~/.zprofile - Starship:
~/.config/starship.toml
- Starship for a fast, rich prompt
- fzf for fuzzy search in the shell history and files
- ripgrep for fast searching
- bat for syntax-highlighted
cat - eza for improved
ls
macOS (Homebrew):
brew install starship fzf ripgrep bat ezaUbuntu/Debian:
sudo apt update
sudo apt install -y curl git fzf ripgrep bat
# eza: https://github.com/eza-community/eza
# starship: https://starship.rsFedora:
sudo dnf install -y starship fzf ripgrep bat ezaArch:
sudo pacman -Syu starship fzf ripgrep bat ezaIf some aliases or prompt segments rely on missing commands, you can either install
the tool or remove those aliases from common/aliases.sh.
- The configs are POSIX-friendly where possible.
- All shell customization is centralized in
common/. - Aliases may use non-standard tools; missing ones are reported once per interactive shell.
- Avoid hardcoding machine-specific values; prefer environment variables.