Skip to content

neowim/mac-bootstrap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mac Bootstrap

A script to automate the setup of a new Mac with my preferred configuration, applications, and dotfiles. This repository contains everything needed to go from a fresh macOS installation to a fully configured development environment.

Features

  • 🔐 Security First
    • Configures TouchID for sudo authentication
    • Enables FileVault disk encryption
    • Sets secure defaults
  • 🛠 Development Setup
    • Installs Xcode Command Line Tools
    • Sets up Homebrew and essential packages
    • Configures development tools and languages
  • ⚙️ System Configuration
    • Sets up macOS system preferences
    • Configures dock, finder, and UI preferences
    • Installs preferred applications via Homebrew
  • 📁 Dotfiles Management
    • Automatically sets up dotfiles using chezmoi
    • Maintains configuration in a separate repository

Prerequisites

  • A Mac running macOS
  • Admin user account
  • Internet connection
  • Your encryption passphrase (for encrypted dotfiles)

Usage

  1. Install Xcode Command Line Tools first:
xcode-select --install
  1. Clone this repository:
git clone https://github.com/neowim/mac-bootstrap.git
cd mac-bootstrap
  1. Review and customize the Brewfile:

    • Comment out any packages you don't want
    • Add any additional packages you need
    • Update Mac App Store application IDs if needed
  2. Make the script executable and run it:

chmod +x mac-bootstrap.sh
./mac-bootstrap.sh
  1. Follow any prompts for:
    • System password
    • Mac App Store authentication
    • Encryption passphrase (for encrypted dotfiles)

Customization

Brewfile

The Brewfile contains all packages, applications, and fonts that will be installed. It's organized into sections:

  • System dependencies
  • Development tools
  • GUI Applications
  • Fonts
  • Mac App Store applications
  • VS Code extensions

System Preferences

The defaults.sh script contains macOS system preferences. Edit this file to customize:

  • UI preferences
  • Finder settings
  • Dock configuration
  • System behavior

Structure

  • mac-bootstrap.sh: Main installation script
  • Brewfile: Package and application definitions
  • defaults.sh: macOS system preferences
  • .gitignore: Git ignore rules
  • logs/: Log files

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Feel free to fork this repository and customize it for your own use. If you have improvements that might benefit others, pull requests are welcome!

About

Bootstrap new Mac

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published