Dotfiles Template
March 4, 2026 · View on GitHub
A minimal, stow-based dotfiles template for OpenBoot
Quick Start
- Click "Use this template" above to create your own dotfiles repo
- Clone your new repo and customize the configs
- Deploy with GNU Stow:
git clone https://github.com/YOUR_USERNAME/dotfiles ~/.dotfiles
cd ~/.dotfiles
stow -v --target="$HOME" git ssh zsh
Structure
dotfiles/
├── git/
│ └── .gitconfig # Git configuration
├── ssh/
│ └── .ssh/
│ └── config # SSH configuration
├── zsh/
│ └── .zshrc # Zsh configuration
└── README.md
How It Works
This template uses GNU Stow for symlink management:
| Source | Target |
|---|---|
git/.gitconfig | ~/.gitconfig |
ssh/.ssh/config | ~/.ssh/config |
zsh/.zshrc | ~/.zshrc |
Each top-level directory is a "stow package" that gets symlinked relative to $HOME.
Integration with OpenBoot
Option 1: Via Dashboard
- Go to openboot.dev/dashboard
- Create a config and set your dotfiles repo URL
- Run your custom install command:
curl -fsSL https://openboot.dev/YOUR_USERNAME/CONFIG_SLUG | bash
Option 2: Manual
# After running OpenBoot
git clone https://github.com/YOUR_USERNAME/dotfiles ~/.dotfiles
cd ~/.dotfiles
stow -v --target="$HOME" git ssh zsh
Adding More Configs
Simple Config (e.g., tmux)
mkdir -p tmux
echo "set -g mouse on" > tmux/.tmux.conf
stow -v --target="$HOME" tmux
# Creates: ~/.tmux.conf
Nested Config (e.g., Neovim)
mkdir -p nvim/.config/nvim
touch nvim/.config/nvim/init.lua
stow -v --target="$HOME" nvim
# Creates: ~/.config/nvim/init.lua
XDG Config Directory
mkdir -p alacritty/.config/alacritty
touch alacritty/.config/alacritty/alacritty.toml
stow -v --target="$HOME" alacritty
# Creates: ~/.config/alacritty/alacritty.toml
Common Additions
| Package | Files |
|---|---|
tmux/ | .tmux.conf |
nvim/ | .config/nvim/init.lua |
alacritty/ | .config/alacritty/alacritty.toml |
starship/ | .config/starship.toml |
wezterm/ | .config/wezterm/wezterm.lua |
Tips
- Backup first: Stow won't overwrite existing files. Move them to
*.backupfirst. - Dry run: Use
stow -n -vto preview changes without applying. - Unstow: Use
stow -D packageto remove symlinks. - Restow: Use
stow -R packageto refresh symlinks after changes.
Related
- openboot - CLI tool
- openboot.dev - Website
License
MIT