explaingit

mathiasbynens/dotfiles

31,345ShellAudience · developerComplexity · 2/5StaleLicenseSetup · easy

TLDR

Mathias Bynens's personal macOS dotfiles, shell configs, Git settings, and system preferences scripts to set up a productive development environment quickly.

Mindmap

mindmap
  root((repo))
    What it does
      Shell configuration
      System preferences
      Package installation
      Git setup
    Key scripts
      .macos defaults
      brew.sh installer
      Shell configs
    Use cases
      New Mac setup
      Dev environment refresh
      Learning best practices
    Tech stack
      Shell scripting
      Homebrew
      macOS defaults
    Audience
      Terminal-comfortable devs
      Mac users

Things people build with this

USE CASE 1

Quickly set up a new Mac with terminal, Git, and system preferences configured the way experienced developers expect.

USE CASE 2

Fork and customize the dotfiles to create your own personal development environment setup script.

USE CASE 3

Learn shell scripting patterns and macOS system configuration tricks from a well-maintained, real-world example.

USE CASE 4

Install a curated set of developer tools (via Homebrew) and shell aliases in one go instead of manually.

Tech stack

ShellBashHomebrewmacOS

Getting it running

Difficulty · easy Time to first run · 5min

macOS-only; requires Homebrew and Git already installed

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

Dotfiles are hidden configuration files on Unix-based systems (their names start with a dot, hence "dotfiles") that control how your shell, editor, and other tools behave. This repository is Mathias Bynens's personal collection of dotfiles for macOS, sharing his carefully curated shell configuration so other developers can learn from it or use it as a starting point for their own setup. The problem it solves is that setting up a new Mac from scratch is time-consuming, you need to configure your terminal prompt, set up useful command aliases (shorthand commands), configure Git, and apply hundreds of hidden macOS system preferences to make the machine behave the way an experienced developer expects. This repo bundles all of that into a set of scripts you can run once to get a polished, productive environment quickly. The key piece is the .macos script, which uses macOS's built-in defaults command to change system and app settings that are normally buried deep in preference panels or not exposed in the GUI at all, things like faster keyboard repeat rates, showing all file extensions in Finder, or disabling autocorrect. There is also a brew.sh script that installs a curated list of tools via Homebrew (macOS's package manager), and shell configuration files that define a custom prompt, aliases, and helper functions. You would use this repo when setting up a new Mac or refreshing your development environment. The intended audience is developers and "hackers" comfortable with the terminal. The repo is entirely Shell scripts and targets macOS, with Bash as the primary shell. The advice from the README is sound: fork it, review the code, and adapt it to your own preferences rather than applying it blindly.

Copy-paste prompts

Prompt 1
Show me how to use Mathias Bynens's dotfiles to set up my new Mac. What should I review before running the scripts?
Prompt 2
How do I fork and customize these dotfiles to add my own shell aliases and macOS preferences?
Prompt 3
Explain what the .macos script does and give me examples of macOS system settings I can change with the defaults command.
Prompt 4
What shell configuration files are in this repo and how do I add custom functions or aliases to my prompt?
Prompt 5
How do I use brew.sh to install developer tools, and how do I modify the list of packages for my own setup?
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.