Home for my (Jon) dotfiles and environment configuration
Consistency.
Common:
macOS:
- Homebrew
- iTerm2
Linux:
- Hyprland
- Quickshell
- Ghostty
Legacy desktop configs (sway, i3, alacritty, wofi) are in legacy/ and are not deployed by default.
Clone with submodules:
git clone --recurse-submodules https://github.com/<user>/dotfiles.git ~/.dotfilesIf already cloned without submodules:
git submodule update --init --recursiveGNU Stow manages symlinks from the dotfiles repo into $HOME. Each top-level directory is a stow package that mirrors the target directory structure.
Symlink all active packages:
cd ~/.dotfiles
make stowSymlink a specific package:
stow --verbose --target=$HOME bashRemove all active symlinks:
make unstowRe-stow (useful after reorganizing):
make stowThe Makefile wraps common setup tasks:
make # stow active packages + vim/shell setup
make stow # symlink active packages (see STOW_PACKAGES in Makefile)
make unstow # remove active symlinks
make check # dry-run stow
make vim # set up Vim/Vundle
make shell # clone shell dependencies (kube-ps1, zsh-git-prompt)- tpm — Tmux Plugin Manager (
tmux/.config/tmux/plugins/tpm)
Enjoy (or criticize) !