Macbook Pro Setup
System setup for MacBook Pro using Mojave, Bash, and Python Development
This is my software development setup for a MacBook Pro (mid-2015, 16g ram, 256g SSD). It is the setup I currently use and may change frequently. I am a dabbler in many arts ... and far from expert in most areas. Take it for what it is worth to you.
Please feel free to offer suggestions and changes (contribution instructions below). I have been coding for many years, but mostly as a side activity ... as a tool to assist me in other endeavors ... so I have not had the 'hard time' invested of constant coding that many of you have.
Copyright © 2018-2019 Michael Treanor
Many original settings © 2018 Mathias Bynens
MIT License - enjoy ...
Warning: If you want to use this setup, you should fork this repository, review the code, and make changes to suit your needs.
If you aren't sure, don't use it! This setup works for me for what I do. Don’t blindly use my settings unless you know what that entails. It could make your system inoperable or at least very annoying to use! Use at your own risk!
Using Git and the bootstrap script
You can clone the repository wherever you want. (I like to keep it in
~/.dotfiles) The bootstrapper script will pull in the latest version and copy the files to your home folder.
git clone https://github.com/skeptycal/dotfiles.git && cd dotfiles && source bootstrap.sh
cd into your local
dotfiles repository and then:
Alternatively, to update while avoiding the confirmation prompt:
set -- -f; source bootstrap.sh
~/.path exists, it will be sourced along with the other files, before any feature testing (such as detecting which version of
ls is being used) takes place.
Here’s an example
~/.path file that adds
/usr/local/bin to the
Add custom commands without creating a new fork
~/.extra exists, it will be sourced after the other files. You can use this to add a few custom commands without the need to fork this entire repository, or to add commands you don’t want to commit to a public repository.
~/.extra looks something like this:
# Git credentials # Not in the repository, to prevent people from accidentally committing under my name GIT_AUTHOR_NAME="Michael Treanor" GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME" git config --global user.name "$GIT_AUTHOR_NAME" GIT_AUTHOR_EMAIL="email@example.com" GIT_COMMITTER_EMAIL="$GIT_AUTHOR_EMAIL" git config --global user.email "$GIT_AUTHOR_EMAIL"
Since it is sourced last, you could also use
~/.extra to override settings, functions and aliases from my dotfiles repository. It’s probably better to fork this repository instead, though.
Sensible macOS defaults
When setting up a new Mac, you may want to set some sensible macOS defaults:
Install Homebrew formulae
When setting up a new Mac, you may want to install some common Homebrew formulae (after installing Homebrew, of course):
Some of the functionality of these dotfiles depends on formulae installed by
brew.sh. If you don’t plan to run
brew.sh, you should look carefully through the script and manually install any particularly important ones. A good example is Bash/Git completion: the dotfiles use a special version from Homebrew.
Based primarily on the open source work of:
- @ptb and his macOS Setup repository
- Ben Alman and his dotfiles repository
- Cătălin Mariș and his dotfiles repository
- Gianni Chiappetta for sharing his amazing collection of dotfiles
- Jan Moesen and his ancient
.bash_profile+ shiny tilde repository
- Lauri ‘Lri’ Ranta for sharing loads of hidden preferences
- Matijs Brinkhuis and his dotfiles repository
- Nicolas Gallagher and his dotfiles repository
- Sindre Sorhus
- Tom Ryder and his dotfiles repository
- Kevin Suttle and his dotfiles repository and macOS-Defaults project, which aims to provide better documentation for
- Haralan Dobrev
- Anyone who contributed a patch or made a helpful suggestion