You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This repo uses a .local pattern to keep sensitive/machine-specific data out of version control:
File
Template
Contains
~/.secrets
.secrets.example
API tokens, passwords
~/.zshrc.local
.zshrc.local.example
SSH keys, personal paths, project aliases
~/.ssh/config.local
.ssh/config.local.example
Host definitions with real IPs
# Set up local files from templates
cp .secrets.example ~/.secrets && chmod 600 ~/.secrets
cp .zshrc.local.example ~/.zshrc.local
cp .ssh/config.local.example ~/.ssh/config.local && chmod 600 ~/.ssh/config.local
# Edit each with your values
nvim ~/.secrets ~/.zshrc.local ~/.ssh/config.local
Hammerspoon
Config:.hammerspoon/
Lua-based macOS automation:
lgtv - LG TV control integration
Claude Code
Config:.claude/
Claude Code CLI configuration with smart notifications.
Features
Always thinking enabled for extended reasoning
Notification hooks - alerts when Claude needs input or completes a task
Smart notification suppression - no alerts when actively viewing the tmux pane
Terminal bell integration - tmux status bar highlights on activity (works with tmux bell settings above)
Clone this repo: git clone git@github.com:yourusername/dotfiles.git ~/dotfiles
Run setup: cd ~/dotfiles && ./macos_setup.sh
Import local configs (see below) or customize from .example files
Restart terminal or source ~/.zshrc
Migrating Local Configs
Transfer your local configs (secrets, SSH hosts, etc.) between machines. Archives are encrypted with age using a passphrase.
On the old machine
cd~/dotfiles
./export_local.sh
# Enter a passphrase when prompted# Creates: ~/dotfiles_local_YYYYMMDD_HHMMSS.tar.gz.age
Transfer the archive
# Via SSH
scp ~/dotfiles_local_*.tar.gz.age newmachine:~/
# Or via AirDrop, USB, etc. (encrypted, safe to transfer)
On the new machine
# After running macos_setup.shcd~/dotfiles
./import_local.sh ~/dotfiles_local_*.tar.gz.age
# Enter the same passphrase# Delete the archive
rm ~/dotfiles_local_*.tar.gz.age
What's included
File
Contents
.secrets
API tokens, passwords
.zshrc.local
SSH keys to load, personal paths
.ssh/config.local
SSH host definitions
.gitconfig.local
Git name/email
About
My tmux, zsh, alacritty configs, homebrew list and migration scripts