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:
@@ -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*
|
||||
Reference in New Issue
Block a user