These are the dot files for my MacBook Pro. A lot of the stuff in here was taken from the illustrious Mathias Bynens (https://github.com/mathiasbynens/dotfiles) and others.
This README is a work in progress.
Using:
Mackup: This is the primary thing(apparently this no longer works on MacOS Sonoma or later)- Antigen for zsh bundles
- Homebrew
Note: If you are using a 2020+ Mac with an Apple Silicon CPU, some of the file paths have changed for tools installed by Homebrew. In particular, /usr/local
has changed to /opt/homebrew
. In this case, you should use the apple-silicon branch instead.
-
From Terminal.app, clone this repository from the home directory.
- If you get a warning about xCode developer tools being required, follow the instructions to install them.
- After installing xCode dev tools, run
sudo xcodebuild -license accept
. Otherwise, the setup routine could abort.
-
Modify
Brewfile
to only include the apps you want to install. -
Modify files in
init/
directory to only install dependencies you want to install -
Important: The
init/macos.sh
file has some very opinionated settings. Make sure you comment out the ones you don't want to set. -
Run
./setup.sh
from this project's main directory. Doing so makes the following happen:- Homebrew: Installs Homebrew if not already installed. Updates brew, and runs
brew bundle
, which install a crap-ton of brew, cask, and Mac App Store apps via theBrewfile
. - Node.js / nvm: nstalls
nvm
if not already installed. Optionally installs the most recent version of node.js. (See and possibly runinit/npm.sh
if you want to install some global npm packages.) - Composer Installs global Composer packages for PHP
- Ruby / rbenv: Optionally installs and sets a globally Ruby version using
rbenv
. If you answer "n" to installing, you can do it manually as outlined in step 6.
- Homebrew: Installs Homebrew if not already installed. Updates brew, and runs
-
Install and set a global Ruby version using
rbenv
:# List available versions rbenv install -l # Install a recent version. For example: rbenv install 2.6.5 # Set global version to installed. For example: rbenv global 2.6.5
-
Run
./setup2.sh
from this project's main directory to install global node modules and ruby gems listed in./init/npm.sh
and./init/gem.sh
, respectively. -
Copy or symlink files from this project's
home/
directory to the MacOS home directory (~/
). This should be automated in the future.
- ~/Library/Fonts
- Text Editors: Vim, VSCode, Atom, Sublime
- Database Servers: Rethink, Mongo
- MacOS Apps: Finder, Messages
- MacOS System Preferences: Keyboard Shortcuts
- Third-party Apps: QuickLook Applets, iTerm
Associating multiple files types with a particular app can be a hassle, so this repo contains a function to make the process a little easier for files you might want to open with your text editor of choice.
- From the command line, run
create-dummies-for-open-with
- Follow the instructions, repeated here for your edification:
- Open
~/dotfiles/dummies
in the Finder - Select all the files (⌘ a)
- Press ⌘ ⌥ i
- In the info window that appears, click "Open with…", select the app, click "Change All…"
- Open
When you're finished, you can delete the dummies
folder.
Source: tweet on 2017-11-16 by @cabel
Note: There might be security implications to doing this. Proceed at your own risk.
- Open
/etc/pam.d/sudo
for editing:sudo vim /etc/pam.d/sudo
- Add this to the top of the file and save:
auth sufficient pam_tid.so
- Profit
The following apps need to be manually installed:
- Luminar
- MAMP Pro
- SuperDuper!
- Brewfile: manifest for installing brew packages, cask apps, and MacOS App Store apps
- home/.antigenrc: config for installing zsh plugins, etc
- home/.mackup/custom.cfg: config for extra files to symlink from
~/dotfiles/home/
to~/
- Backup the whole thing. Duh.
- Run
./backup.sh
from this project's main directory - Dump local rethinkdb databases
- Dump local MySQL databases
- Dump local mongodb databases