Config files for git, shell, terminals and editors, managed with GNU Stow.
Each top-level directory is a stow package that mirrors $HOME.
Ensure Homebrew is installed on the machine.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Use homebrew to install the cli tools.
brew install \
btop \
mise \
commitizen \
eza \
fd \
fzf \
gh \
git \
iperf3 \
jq \
lazydocker \
lazygit \
neovim \
ripgrep \
scrcpy \
stow \
tmux \
yt-dlp \
wget \
zsh-autosuggestions
Use homebrew to install apps.
brew install --cask \
android-studio \
bitwarden \
cursor \
discord \
docker \
figma \
firefox \
github \
gitkraken \
google-chrome \
intellij-idea-ce \
iina \
kitty \
lm-studio \
notion \
plex \
rectangle \
slack \
spotify \
stats \
visual-studio-code
Install nerd fonts.
brew install --cask \
font-blex-mono-nerd-font \
font-hack-nerd-font \
font-jetbrains-mono-nerd-font \
font-mononoki-nerd-font \
font-space-mono-nerd-font \
font-victor-mono-nerd-font \
font-zed-mono-nerd-font
Install extra CLI tools.
brew tap heroku/brew
brew install heroku
brew tap teamookla/speedtest
brew install speedtest
brew install anomalyco/tap/opencode
Clone the repository (any path works, .stowrc targets $HOME):
git clone https://github.com/diego-ch/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
then stow everything:
stow */
or only what the machine needs (e.g. a headless Linux box):
stow git zsh tmux starship
tmux plugins are managed by tpm —
clone it once, then install with prefix + I:
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
Routing and identity are machine-local and never committed. ~/.gitconfig
includes ~/.config/git/local, which routes work repos (matched by remote
or directory) to the identity in ~/.config/git/work.local:
mkdir -p ~/.config/git
cp git/local.example ~/.config/git/local
cp git/work.local.example ~/.config/git/work.local
$EDITOR ~/.config/git/local ~/.config/git/work.local