dotfiles
What it does
The usual things. zsh with a prompt that just tells me where I am and which git branch I’m on; no fancy powerline. neovim with a small init.lua I can actually read. tmux with saner binds. A Brewfile for macOS and a few apt install scripts for the Linux side. stow handles symlinking.
I don’t have any aspirations for this to be a “framework” — a lot of dotfiles repos grow into one and I don’t find that useful. This is just my setup, wired up so I can get to a working environment on a new machine in about ten minutes.
Why I made it
Same reason everyone does: I got tired of copy-pasting .zshrc between machines.
How it works
stow is the whole story. Each tool is a subdirectory and stow <tool> symlinks its contents into $HOME.
# I don't run a git server; copy the files from /src/dotfiles/ into ~/.dotfiles
cd ~/.dotfiles
./install.sh # brew / apt packages, no surprises
stow zsh nvim tmux git
The bootstrap.sh is OS-aware; it installs a Brewfile on macOS and a package list on Debian-ish Linux. That’s it. There’s no “sync” command. git pull && stow -R * is the update.
Known issues
- The neovim config is in a state of gentle, perpetual revision. Don’t clone this expecting stability.
- My font and terminal choices (JetBrains Mono, Ghostty) are baked into a few configs. Easy to change; just grep for them.