Dotfiles for macOS and Ubuntu, deployed into $HOME with
GNU Stow.
Install GNU Stow (brew install stow on macOS, sudo apt install stow on
Ubuntu), then run these commands from the cloned repository:
./install.sh list # discover available packages
./install.sh --dry-run # preview the default installation
./install.sh # install all packages for this platformTo select packages:
./install.sh install zsh git tmux
./install.sh remove zsh git tmuxThe installer deploys configuration; install the applications separately.
If an existing file blocks installation, move it aside and rerun the command.
Keep the repository in place: the installed links point into it.
See ./install.sh --help for options.
stow/<package>/: configuration paths relative to$HOME.assets/: bundled assets used by the installer.exports/: application exports with manual restore instructions.scripts/: repository maintenance commands.
For example, stow/zsh/.zshrc is linked to ~/.zshrc: edits to the source are
reflected through that link. Tool-specific usage lives alongside its configuration.
See the Vim mapping guide for keyboard namespaces and plugin shortcuts.
Add a package under stow/<package>/, mirroring its destination paths below
$HOME. The installer discovers packages automatically.
Run the checks and preview deployment:
./install.sh check
./install.sh --dry-run
git diff --checkChecks cover configuration syntax and isolated installation/removal. Missing optional tools are reported as skips; CI runs the same checks on both platforms.
To enable fast checks before each commit:
git config core.hooksPath .githooks