Files
dotfiles/APP_CONFIGS.md
T
David F GliddenandClaude 0838f1cf8c 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>
2025-07-27 13:17:01 +02:00

2.7 KiB

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

# 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)

# 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:

    brew bundle install
    
  2. Restore configs:

    # 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

# After installing apps
mackup restore

Adding New Applications

To add config management for a new app:

  1. Find config location:

    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