This repository contains scripts and configurations for setting up a new development machine. The scripts are designed to be user-specific and won't affect other users on the same machine.
Run these scripts in the following order:
Sets up user-specific macOS preferences:
- Keyboard and input settings
- Caps Lock key mapped to Control
- Fast keyboard repeat rate
- Disabled press-and-hold for keys
- Trackpad and mouse settings
- Screen and display settings
- Finder preferences
- Dock settings
- Mail.app settings
- Calendar settings
- Terminal settings
- Activity Monitor settings
- Software update preferences
./macos_defaults.sh
Note: Some keyboard settings may require a logout/login to take effect.
Installs applications and tools via Homebrew:
- Development tools (VS Code, Docker, etc.)
- Communication apps (Slack, Signal, etc.)
- Utilities (Flycut, Keycastr, etc.)
- Fonts
./brew.sh
Sets up your development environment:
- Git configuration
- Oh My Zsh plugins and aliases
- VS Code extensions and settings
- Downloads personal assets (avatar, backgrounds)
./setup.sh
To skip VS Code extension installation:
./setup.sh --no-vscode
After running the scripts, you'll need to:
-
Desktop Backgrounds
- Unzip
~/Pictures/agile-desktop-backgrounds.zip
- Add to System Settings > Wallpaper
- Set to auto-rotate manually
- Unzip
-
Additional Tools
- Install LazyVim
- Download Chromeless manually (brew install is broken)
- Install OpenPomodoro CLI:
go get -u github.com/open-pomodoro/openpomodoro-cli/cmd/pomodoro
-
Secrets
- Copy your secrets manually:
~/.gcalclirc
~/.gcalcli_oauth
- Other personal configuration files
- Copy your secrets manually:
- All scripts are user-specific and won't affect other users on the same machine
- Scripts use
~
or$HOME
to ensure configurations are installed in your user directory - No system-wide settings are modified
- No
sudo
commands are used in the setup process
If you encounter any issues:
- Check that Homebrew and Oh My Zsh are properly installed
- Ensure you have write permissions in your home directory
- Verify that all required directories exist before running the scripts