INTERVAL — 20 minutes, and the frequency filed as UNKNOWN rather than as ~2.3/day. That figure was computed against active session minutes; the refresh amendment moved the tick to wall-clock-in-session, so it was justified under neither surviving reading. Carrying it would be a number that looks derived and is not. The blank is not a gap in the spec — it is what honest degradation looks like when the instrument that would fill it has not been run. Filed WITH a tracked deferral for §8's own two-week rate report, which had no trigger. Deliberately manual: the two-week clock starts the day the body is wired, so no date can honestly be written yet, and inventing one would be the proxy the schema warns against. It converts to a date trigger the day the body ships. First new use of the mechanism authorized hours ago. BODY — variation at the margin of notice, correlating with nothing. ⚠ Carries a correction to my reading of condition 2 that changes what gets built. I treated "a presence you forget" as the failure to design against. It is the SPECIFICATION — Lear's Fool is in the room four acts unattended, and his being there is what makes the moment he lands possible. Condition 2 guards something narrower: furniture-blindness, ceasing to be perceptible even peripherally. Unattended is the design; imperceptible is the defect. The bar is LOWER than I was building toward, and building to the higher bar would have produced exactly the widget the design forbids. Spec: time-derived, no content, no state; detectable at a glance, never rewarding to stare at; if it can be interpreted, it is a widget. ⚠ And the binding constraint, which I had not seen and which is the door the design leaks through: the variation must not correlate with ANYTHING — not with whether a mumble is coming, not with what happened, not with the draw. The moment a glyph means something the body is a channel and the fool is gradeable through it. Specified explicitly rather than left to good sense. One-way lever written into the spec: if the body reads as something to watch, REDUCE the variation, never make it adaptive. Same shape and same reason as §8's interval lever. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01J6hZXNYSxEfZseBGTni4sf
🖖 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:
# From GitHub
git clone https://github.com/davidglidden/dotfiles.git ~/dotfiles && ~/dotfiles/engage
# From Gitea (alternative mirror)
git clone git@git.davidglidden.eu: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:
# 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:
# 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:
# 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:
# 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:
- Fork the repository
- Create a feature branch
- Test thoroughly on a fresh macOS installation
- Submit a pull request with clear description
📜 License
MIT License - Use, modify, and share freely.
🙏 Acknowledgments
Inspired by:
- Mathias Bynens' dotfiles
- ptb/mac-setup
- Homebrew Bundle
- The Star Trek universe for the best command ever: "Engage!"
Live long and prosper! 🖖
Made with ❤️ for the macOS community