Dotfiles Template

June 2, 2026 · View on GitHub

A minimal dotfiles template for OpenBoot, using GNU Stow via a Makefile

Use this template

Quick Start

  1. Click "Use this template" above to create your own dotfiles repo
  2. Clone your new repo and customize the configs
  3. Deploy with Make (calls stow internally):
git clone https://github.com/YOUR_USERNAME/dotfiles ~/.dotfiles
cd ~/.dotfiles
make install

Structure

dotfiles/
├── git/
│   └── .gitconfig      # Git configuration
├── ssh/
│   └── .ssh/
│       └── config      # SSH configuration  
├── zsh/
│   └── .zshrc          # Zsh configuration
└── README.md

How It Works

The Makefile calls GNU Stow to create symlinks in $HOME:

SourceTarget
git/.gitconfig~/.gitconfig
ssh/.ssh/config~/.ssh/config
zsh/.zshrc~/.zshrc

Each top-level directory is a "stow package." OpenBoot detects the Makefile and runs make install automatically — so your repo controls its own deployment logic.

Integration with OpenBoot

Option 1: Via Dashboard

  1. Go to openboot.dev/dashboard
  2. Create a config and set your dotfiles repo URL
  3. 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
make install

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

PackageFiles
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 *.backup first.
  • Dry run: Use stow -n -v to preview changes without applying.
  • Unstow: Use stow -D package to remove symlinks.
  • Restow: Use stow -R package to refresh symlinks after changes.

License

MIT