gitmyhub

dotfiles

Shell ★ 31k updated 1y ago

:wrench: .files, including ~/.macos — sensible hacker defaults for macOS

A curated set of macOS shell configuration files and bootstrap scripts that automate setting up a developer-ready Mac, including shell aliases, hundreds of hidden system preferences, and a Homebrew package list, all applied in one run.

ShellBashHomebrewsetup: moderatecomplexity 2/5

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.

Where it fits