Caution
These are PERSONAL dotfiles and configurations specifically designed for macOS. Use at your own risk and adapt to your needs.
A comprehensive macOS development environment setup with a focus on modern tools, productivity, and aesthetics. This setup uses Fish shell, Starship prompt, and a carefully curated collection of CLI tools and applications.
- π Fish Shell: Modern shell with intelligent autocompletion and syntax highlighting
- π Starship Prompt: Fast, customizable prompt with git integration
- π¦ Homebrew: Package management with extensive tool collection
- π GNU Stow: Dotfiles management via symlinks
- π¨ Catppuccin Theme: Consistent theming across all applications
- β‘ Performance Optimizations: Fast terminal, optimized git settings, efficient completions
- π§ Development Tools: Complete setup for multiple programming languages
- π₯οΈ macOS Tweaks: System optimizations and security enhancements
- πͺ yabai: Tiling window manager with automatic space management
- π¨ Hammerspoon: Automation for Bluetooth, sleep management, and location-aware settings
cd $HOME && git clone https://github.com/LuisUrrutia/.dotfiles.git && cd .dotfiles && ./install.sh- GNU Coreutils: Modern Unix tools (coreutils, findutils, gnu-sed, grep)
- Stow: Symlink management for dotfiles
- Fish + Fisher: Shell and plugin manager
- GPG: Secure communication and signing
- Git: Version control with delta diff viewer and advanced aliases
- Neovim: Modern Vim editor
- Zed: Fast, collaborative code editor
- Claude Code: AI-powered coding assistant
- GitHub CLI: Command-line GitHub integration
- Language Support: Python (uv), Node.js (fnm), Go, Rust, Bun
- Blockchain: Foundry (forge, cast, anvil)
- Cloud Tools: AWS CLI, Google Cloud CLI
- Terminal Enhancers: tmux, starship, btop, bat, eza, procs
- Search & Navigation: ripgrep, fzf, fd, zoxide
- File Management: rename, p7zip, exiftool, dust
- Network Tools: wget, openssh, autossh, mosh, rclone, aria2
- Media Processing: ffmpeg, yt-dlp, imagemagick
- Monitoring: tailspin (log viewer), fswatch, hyperfine (benchmarking)
- Development: Zed, Yaak, Docker Desktop, Android Platform Tools
- Browsers: Brave Browser
- Security: 1Password, NordVPN, VeraCrypt
- Communication: Telegram, Discord, WhatsApp, Slack, Zoom
- Media & Design: Figma, OBS, CleanShot, Adobe Creative Cloud
- Productivity: Raycast, Notion, BusyCal, Ice (menu bar organizer)
- Terminal: kitty
- Audio: Focusrite Control, Loopback, SoundSource
- System: Hyperkey, DisplayLink, MacFUSE
| Tool | Configuration | Description |
|---|---|---|
| Fish | ~/.config/fish/config.fish |
Shell configuration with Catppuccin theme |
| Git | ~/.gitconfig |
Advanced git aliases, delta integration, GPG signing |
| Zed | ~/.config/zed/settings.json |
Code editor settings |
| kitty | ~/.config/kitty/kitty.conf |
Terminal configuration |
| Starship | ~/.config/starship.toml |
Shell prompt configuration |
| yabai | ~/.config/yabai/ |
Tiling window manager configuration |
| Hammerspoon | ~/.hammerspoon/ |
macOS automation scripts |
gwclone: Git clone with worktree support and auto-detected default branchgwnb: Create and switch to new git worktree branchesupup: One-command update for Homebrew, pnpm, and Fishernuke: Kill resource-heavy background processes (Adobe, Logitech, etc.)awss: AWS profile switchermkd: Create directory and cd into it
50+ shell abbreviations for common operations:
- Git:
gst,gco,gcm,gp,gl,grb,amend,uncommit, worktree ops (gwl,gwa,gwrm) - Docker:
dps,dexec,dc,dcu,dcd - System:
brewup,localip,clean-js
- Disconnects Bluetooth devices on sleep, reconnects on wake
- Prevents battery drain on sleeping machines
- Detects home WiFi networks
- Prevents system sleep when on home network
- Enables stricter security settings when away
For personal configurations that shouldn't be public:
./private-install.shThis installs additional private configurations for:
- Cursor (private settings/extensions)
- Fish (work-specific configurations)
- Sensitive configurations
The setup includes comprehensive macOS system tweaks via macos.sh:
- Disable automatic text corrections and smart features
- Fast key repeat rate
- Full keyboard access for all controls
- Subpixel font rendering for external displays
- Secure screen saver settings
- Screenshot organization
- Show all file extensions
- Secure trash emptying
- Reveal hidden folders
- Automatic software updates
- Firewall configuration
- FileVault disk encryption
- Power management optimization
- Dock customization and app management
- Disabled system shortcuts (replaced with better alternatives)
- Keyboard shortcut customization
- System Check: Verifies macOS compatibility
- Homebrew: Installs or updates package manager
- Package Installation: Installs all tools from Brewfile
- Configuration Linking: Uses Stow to symlink dotfiles
- Software Configuration: Applies specific software configuration
- System Configuration: Applies macOS tweaks
- Shell Setup: Configures Fish as default shell
- Final Setup: Builds caches and applies final configurations
After running the installer, complete these manual steps:
- Raycast: Configure launcher and productivity shortcuts
- 1Password: Set up SSH agent and Apple Watch integration
- Touch ID: Enable Apple Watch for authentication
- Docker: Complete Docker Desktop setup and licensing
- CleanShot: Configure screenshot automation
- Clock Screensaver: Set up custom screensaver
- Hyperkey: Configure caps lock key remapping
- BusyCal: Set up calendar integration
- OBS: Configure streaming/recording setup
- SoundSource & Loopback: Apply audio software licenses
- Insta360 Link Controller: Install webcam software
- Focusrite Control: Configure audio interface
- π» Laptop: MacBook Pro M3 Max (64GB RAM)
- π₯οΈ Monitor: ASUS ProArt PA279CRV
- β¨οΈ Keyboard: ROG Azoth
- π±οΈ Mouse: Logitech G502 X Plus
- π±οΈ Mousepad: Razer Strider XXL
- π§ Headphones: Sennheiser HD 490 Pro
- π€ Microphone: Oktava MK-012S
- π Audio Interface: Scarlett 2i2 4th Generation
- πΉ Webcam: Insta360 Link or iPhone 16 Pro Max
- π‘ Lightbar: BenQ ScreenBar Pro
- Permission errors: Ensure script has execute permissions
- Homebrew failures: Check internet connection and disk space
- Stow conflicts: Remove existing config files before running
- SSH authentication: Verify GitHub SSH key setup for private configs
- Check individual tool documentation
- Review installation logs for specific errors
- Ensure macOS version compatibility
This is a personal configuration repository. Feel free to fork and adapt for your own use.