This repository contains my public dotfiles. It uses stow for symlink management and a helper script for backup + stow workflows.
Clone this repo somewhere and use it as the source of truth for your configs:
git clone https://github.com/leonjza/dotfiles.git
cd dotfilesA Nerd Font is recommended for prompt icons (for example, from Nerd Fonts).
Then stow the managed configs:
./install stowstow currently manages:
battmuxzshnvimstarshipzim
Preview backup detection without making changes:
./install stow --dry-runThese dotfiles assume or enhance the following tools:
zsh+stow(core shell + symlink manager)git(aliases and workflows)neovim(used byvimalias and editor setup)tmux(included configuration)starship(prompt setup in.zshrc)bat(prettycatalias)eza(modernlsalias)- optional:
ghostty(config is in this repo but not stowed byinstall)
To override defaults or keep machine-local secrets/settings out of git, add your own .zsh files to ~/.zshrc-local.d. Any files ending in .zsh there are sourced on shell startup.
Remove managed symlinks with:
./install unstowThis only removes symlinks for stowed packages. It does not automatically restore backups.
Pull latest changes in this repo:
cd /path/to/dotfiles
git pullBecause configs are symlinked, opening a new shell/tab is usually enough to pick up changes.
During ./install stow, existing non-symlink configs that would conflict are moved to:
~/.config/dotfile-backups/
Backups keep their relative path (for example ~/.zshrc -> ~/.config/dotfile-backups/.zshrc).
This repo includes configs for:
bat(gruvbox-darktheme)zshnvim(NvChad-based)tmuxstarshipzimghostty(manual use unless you stow it yourself)
| Command | Type | Source | Description |
|---|---|---|---|
g |
alias | view | Shortcut for git |
gp |
alias | view | Shortcut for git pull |
glog |
alias | view | Pretty git graph log |
gcl |
alias | view | git clone --recurse-submodules |
gss |
alias | view | git status --short -b |
dce |
alias | view | docker compose exec (or docker-compose exec) |
dcps |
alias | view | docker compose ps (or docker-compose ps) |
dcstop |
alias | view | docker compose stop (or docker-compose stop) |
dcup |
alias | view | docker compose up (or docker-compose up) |
dcdn |
alias | view | docker compose down (or docker-compose down) |
dcl |
alias | view | docker compose logs (or docker-compose logs) |
dclf |
alias | view | docker compose logs -f (or docker-compose logs -f) |
dcpull |
alias | view | docker compose pull (or docker-compose pull) |
cat |
alias | view | Uses bat -pp when bat is installed |
ports |
alias | view | View listening TCP ports via lsof (macOS) |
locate |
alias | view | Uses mdfind -name on macOS |
gdb |
alias | view | Runs gdb -q when gdb is installed |
vim |
alias | view | Maps vim to nvim when installed |
chain |
alias | view | Uses proxychains -q or proxychains4 -q |
ls |
alias | view | Uses eza when installed |
take |
function | view | Create directory and cd into it |
updatesoftware |
function | view | Update common package managers and zimfw |
nah |
function | view | Reset tracked + untracked git changes (with confirmation) |
newcryptvol |
function | view | Create a new encrypted sparse volume on macOS |
