Personal configuration files managed with GNU Stow.
# Clone
git clone git@github.com:xorsal/dotfiles.git ~/dotfiles
cd ~/dotfiles
# Install everything
./install.sh
# Or install specific packages
stow tmux| Package | Description |
|---|---|
tmux |
Tmux configuration with session persistence, dev layouts, worktree support |
claude |
Claude Code settings, aliases, and statusline |
Stow creates symlinks from the dotfiles repo to your home directory. Each top-level directory is a "package" that can be installed independently.
~/dotfiles/tmux/.tmux.conf → ~/.tmux.conf
~/dotfiles/tmux/.tmux/ → ~/.tmux/
cd ~/dotfiles
stow tmuxcd ~/dotfiles
stow -D tmuxcd ~/dotfiles
stow -R tmux- GNU Stow - Symlink manager
# Ubuntu/Debian
sudo apt install stow
# macOS
brew install stow
# Arch
sudo pacman -S stow- tmux 3.0+
- TPM - Tmux Plugin Manager (auto-installed)
The Claude package sets up symlinks for Claude Code configuration:
~/.claude/
├── settings.json → dotfiles/claude/.claude/settings.json (personal settings)
├── aliases.sh → dotfiles/claude/.claude/aliases.sh (shell aliases)
├── statusline.sh → dotfiles/claude/.claude/statusline.sh (statusline config)
├── agents/ → rafa/.claude/agents/ (shared agents)
└── commands/ → rafa/.claude/commands/ (shared commands)
workspace/.claude → rafa/.claude (project config)
- Personal settings (dotfiles): settings.json, aliases.sh, statusline.sh
- Project config (rafa): agents, commands, and workspace-level .claude
# 1. Clone the repo
git clone git@github.com:xorsal/dotfiles.git ~/dotfiles
# 2. Run install script
cd ~/dotfiles
./install.sh
# 3. Start tmux and install plugins
tmux
# Press: ` then I (capital i)See tmux/.tmux/TMUX_GUIDE.md for full documentation.
| Keys | Action |
|---|---|
` d |
Detach |
` v |
Split vertical |
` s |
Split horizontal |
` D |
Dev layout |
` T |
Test layout |
` w |
Session picker |
Ctrl+hjkl |
Navigate panes |
Alt+h/l |
Previous/next window |
tmux-help # Show keybindings
tmux-fix # Fix common issues-
Create a directory for the package:
mkdir -p ~/dotfiles/newpkg -
Add config files mirroring home directory structure:
# For ~/.config/foo/config.yml mkdir -p ~/dotfiles/newpkg/.config/foo cp ~/.config/foo/config.yml ~/dotfiles/newpkg/.config/foo/
-
Install with stow:
cd ~/dotfiles stow newpkg
Stow won't overwrite existing files. Back them up first:
mv ~/.tmux.conf ~/.tmux.conf.backup
mv ~/.tmux ~/.tmux.backup
stow tmuxInstall stow (see Dependencies above).
Make sure you run stow from the dotfiles directory:
cd ~/dotfiles
stow tmux