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
+218
View File
@@ -0,0 +1,218 @@
# 🖖 David's Dotfiles - "Engage!"
> *"Make it so!"* - A complete macOS setup system inspired by Star Trek's efficiency and elegance.
From zero to fully configured macOS in minutes. This dotfiles repository provides a comprehensive, automated setup for developers, writers, and knowledge workers.
## 🚀 Quick Start
**One command to rule them all:**
```bash
git clone https://github.com/davidglidden/dotfiles.git ~/dotfiles && ~/dotfiles/engage
```
That's it! The `engage` script will guide you through a complete system setup.
## ✨ What This System Provides
### 📦 **Software Management**
- **120+ CLI tools** via Homebrew (development, media, security)
- **40+ Applications** via casks (productivity, creativity, utilities)
- **20+ Mac App Store apps** via `mas` (native macOS apps)
### 🔧 **Configuration Management**
- **Shell setup**: Zsh with Antidote, Powerlevel10k, history sync
- **Development tools**: Git hooks, SSH templates, NPM config
- **Application configs**: LaunchBar, Hazel, Bartender, Karabiner
- **Obsidian vault**: Complete knowledge management system
### 🖥️ **macOS System Configuration**
- **System preferences**: Dock, Finder, keyboard, security
- **Security hardening**: Firewall, privacy, authentication
- **Keyboard shortcuts**: Mission Control, app shortcuts
- **Developer settings**: Safari dev tools, Terminal enhancements
### 🛡️ **Backup & Security Strategy**
- **Encrypted backups** for sensitive files (SSH keys, credentials)
- **History management** with daily snapshots and retention
- **Git hooks** for security and code quality
- **Application data** backup and restore scripts
## 📁 Repository Structure
```
dotfiles/
├── engage # 🖖 Master installation script
├── Brewfile # Package management (brew/cask/mas)
├── README.md # This file
├── .gitconfig # Git configuration
├── .npmrc # NPM defaults
├── .zshrc # Shell configuration
├── .vimrc # Vim configuration
├── bin/ # Custom scripts
│ ├── backup-dotfiles # Quick dotfiles backup
│ └── check-app-configs # Configuration status checker
├── git/ # Git configuration
│ └── hooks/ # Global git hooks
├── macos/ # macOS system configuration
│ ├── setup-macos.sh # Master macOS setup
│ ├── defaults.sh # System preferences
│ ├── security.sh # Security hardening
│ └── keyboard-shortcuts.sh # Custom shortcuts
├── macos-apps/ # macOS app configurations
│ └── backup-app-configs.sh # App settings backup
├── obsidian/ # Obsidian knowledge vault
│ ├── setup-obsidian.sh # Vault configuration
│ └── community-plugins.json # Essential plugins
├── scripts/ # Installation scripts
│ └── symlinks.sh # Dotfile linking
├── shell/ # Shell enhancements
│ └── history-sync.zsh # History management
└── ssh/ # SSH configuration
├── config.example # SSH config template
└── README.md # SSH setup guide
```
## 🎯 Core Philosophy
This system balances **automation** with **choice**:
- **Smart defaults** that work out of the box
- **Interactive modes** for customization
- **Modular design** - use what you need
- **Security first** - encrypted backups, secure defaults
- **Documentation** - clear guides and examples
Inspired by the best dotfiles repositories but designed for real-world complexity.
## 📱 Essential Applications Included
### Development
- **iTerm2** + **Kitty** - Terminal emulators
- **BBEdit** - Text editor with deep macOS integration
- **GitHub Desktop** - Git GUI
- **Docker** - Containerization
### Productivity
- **Obsidian** - Knowledge management powerhouse
- **1Password** - Password management
- **LaunchBar** - Application launcher
- **Hazel** - Automated file organization
- **Drafts** - Quick capture and text processing
### Utilities
- **Karabiner-Elements** - Keyboard customization
- **Bartender** - Menu bar organization
- **Keka** - Archive utility
- **Oversight** - Privacy monitoring
- **Signal** - Secure messaging
### Creative & Media
- **VLC** - Media player
- **HandBrake** - Video transcoding
- **Transmit** - File transfer
- **Calibre** - E-book management
## 🛠️ Advanced Usage
### Manual Installation Steps
If you prefer granular control:
```bash
# 1. Install packages only
brew bundle install --file=~/dotfiles/Brewfile
# 2. Set up dotfiles
~/dotfiles/scripts/symlinks.sh
# 3. Configure macOS
~/dotfiles/macos/setup-macos.sh
# 4. Set up applications
~/dotfiles/macos-apps/backup-app-configs.sh
```
### Customization
**Modify the Brewfile** to add/remove applications:
```ruby
# Add new CLI tool
brew "your-tool"
# Add new application
cask "your-app"
# Add Mac App Store app
mas "App Name", id: 123456789
```
**Customize macOS defaults** in `macos/defaults.sh`:
```bash
# Change dock position
defaults write com.apple.dock orientation -string "left"
# Adjust key repeat speed
defaults write NSGlobalDomain KeyRepeat -int 1
```
### Backup Strategy
**Before making changes:**
```bash
# Backup current dotfiles
~/dotfiles/bin/backup-dotfiles
# Backup macOS settings
~/dotfiles/macos/backup-defaults.sh
# Backup sensitive files (encrypted)
~/dotfiles/backup-scripts/backup-sensitive.sh
```
## 🔐 Security Features
- **SSH keys** encrypted with GPG
- **Firewall** enabled with stealth mode
- **Privacy settings** optimized
- **Git hooks** prevent secrets in commits
- **Secure defaults** for Safari and system
- **Application permissions** documented
## 🧠 Obsidian Knowledge System
Includes a sophisticated personal knowledge management setup:
- **13 essential plugins** for advanced functionality
- **Template system** with Templater integration
- **Daily/weekly/monthly** review cycles
- **Christopher Alexander** pattern language philosophy
- **Multilingual support** (EN/ES/FR/CA)
## 🤝 Contributing
This is a personal dotfiles repository, but ideas and improvements are welcome:
1. **Fork** the repository
2. **Create** a feature branch
3. **Test** thoroughly on a fresh macOS installation
4. **Submit** a pull request with clear description
## 📜 License
MIT License - Use, modify, and share freely.
## 🙏 Acknowledgments
Inspired by:
- [Mathias Bynens' dotfiles](https://github.com/mathiasbynens/dotfiles)
- [ptb/mac-setup](https://github.com/ptb/mac-setup)
- [Homebrew Bundle](https://github.com/Homebrew/homebrew-bundle)
- The Star Trek universe for the best command ever: **"Engage!"**
---
**Live long and prosper!** 🖖
*Made with ❤️ for the macOS community*