Initial commit: Complete macOS dotfiles system

🖖 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>
This commit is contained in:
David F Glidden
2025-07-27 13:17:01 +02:00
co-authored by Claude
commit 0838f1cf8c
26 changed files with 2747 additions and 0 deletions
+117
View File
@@ -0,0 +1,117 @@
# Application Configuration Management
This document explains how application configurations are managed in this dotfiles repository.
## Strategy Overview
We use a hybrid approach:
1. **Direct file management** for simple configs (.npmrc, .ssh/config)
2. **Custom backup scripts** for complex macOS apps (LaunchBar, Hazel, Bartender)
3. **Mackup** as an optional automated solution
## Configuration Locations
### Simple Configs (Symlinked)
- `.npmrc` → `~/dotfiles/.npmrc`
- `.ssh/config` → `~/dotfiles/ssh/config` (template)
### macOS Application Configs
- **LaunchBar**: `~/Library/Application Support/LaunchBar/`
- **Hazel**: `~/Library/Application Support/Hazel/`
- **Bartender**: `~/Library/Preferences/com.surteesstudios.Bartender.plist`
## Backup Methods
### Method 1: Manual Script (Recommended)
```bash
# Run the backup script
~/dotfiles/macos-apps/backup-app-configs.sh
```
This script:
- Backs up LaunchBar configuration and custom actions
- Exports Hazel rules database
- Saves Bartender preferences
- Converts plists to readable XML format
### Method 2: Mackup (Automated)
```bash
# First time setup
mackup backup
# On new machine
mackup restore
```
Mackup advantages:
- Automatic detection of supported apps
- Creates symlinks for live sync
- Supports 300+ applications
## SSH Config
We maintain a template at `~/dotfiles/ssh/config.example` with:
- Sanitized host configurations
- Best practice settings
- Examples for common scenarios
**Never commit**:
- Private keys
- Actual hostnames/IPs
- Usernames
- Sensitive paths
## NPM Configuration
The `.npmrc` file includes:
- Author defaults for `npm init`
- Performance optimizations
- Security settings
- Registry configuration (if needed)
## Restore Process
### Quick Restore
1. Install applications via Homebrew:
```bash
brew bundle install
```
2. Restore configs:
```bash
# NPM
ln -sf ~/dotfiles/.npmrc ~/.npmrc
# SSH (edit first!)
cp ~/dotfiles/ssh/config.example ~/.ssh/config
chmod 600 ~/.ssh/config
# macOS apps
~/dotfiles/macos-apps/restore-app-configs.sh
```
### Using Mackup
```bash
# After installing apps
mackup restore
```
## Adding New Applications
To add config management for a new app:
1. **Find config location**:
```bash
find ~/Library -name "*AppName*" -type d
```
2. **Add to backup script** or configure Mackup
3. **Document** the process here
## Troubleshooting
- **Permissions issues**: Some apps need to be quit before restoring
- **License/authorization**: Most apps need re-activation after restore
- **Preferences cache**: May need to `killall cfprefsd` after restoring plists
- **Mackup conflicts**: Check `~/.mackup/` for conflicting symlinks