🖖 Features: - Master 'engage' script for one-command setup - 120+ CLI tools via Homebrew - 40+ Applications (casks + MAS apps) - Complete macOS system configuration - Security hardening and privacy settings - Obsidian knowledge vault setup - Comprehensive backup strategies - Automated symlink management Live long and prosper\! 🚀 🤖 Generated with Claude Code (https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2.1 KiB
2.1 KiB
Dotfiles Backup Strategy
Overview
This dotfiles repository uses a multi-layered backup approach:
- Version Control (Git) - For non-sensitive configuration files
- Encrypted Backups - For sensitive files (SSH keys, credentials)
- Historical Backups - For shell history and evolving configs
- Symlinks - To maintain live connections to config files
What Gets Backed Up Where
In Git (Public)
- Shell configurations (
.zshrc,.bashrc) - Git config (sanitized)
- Vim configuration
- Shell scripts and utilities
- Application configs (non-sensitive)
Encrypted Backups (Private)
- SSH private keys
- AWS/Cloud credentials
- API tokens
- Password databases
Historical Backups
- Shell history (daily snapshots, 7-day retention)
- Checkpoint versions of frequently edited configs
Backup Commands
1. Quick Backup (non-sensitive files)
~/dotfiles/bin/backup-dotfiles
2. Sensitive Files Backup (encrypted)
~/dotfiles/backup-scripts/backup-sensitive.sh
3. Manual History Checkpoint
# In your shell
history_checkpoint
Restore Process
On a New Machine
-
Clone dotfiles:
git clone https://github.com/yourusername/dotfiles.git ~/dotfiles -
Run installation script (once created):
~/dotfiles/install.sh -
Restore sensitive files (if you have backups):
# Decrypt SSH keys gpg -d ~/dotfiles/backups/ssh_[timestamp].tar.gz.gpg | tar -xzf - -
Set up application-specific configs:
- Run
mackup restorefor application preferences - Import browser bookmarks/passwords
- Configure cloud service credentials
- Run
Security Best Practices
-
Never commit:
- Private keys
- Passwords or tokens
- Personal information
-
Use
.gitignoreproperly:backups/ *.key *.pem secrets/ -
Encrypt sensitive backups with GPG
-
Store encrypted backups in a secure location (not in git)
-
Rotate keys regularly
Maintenance
- Run backup scripts weekly
- Review and clean old backups monthly
- Update scripts as your setup evolves
- Test restore process periodically