Laptop is a script to set up an OS X laptop for web development.
It can be run multiple times on the same machine safely. It installs, upgrades, or skips packages based on what is already installed on the machine.
- OS X Mavericks (10.9)
- OS X Yosemite (10.10)
- OS X El Capitan (10.11)
Older versions may work but aren't regularly tested. Bug reports for older versions are welcome.
Download, review, then execute the script:
curl --remote-name https://raw.githubusercontent.com/thoughtbot/laptop/master/mac less mac sh mac 2>&1 | tee ~/laptop.log
Optionally, install thoughtbot/dotfiles.
Your last Laptop run will be saved to
Read through it to see if you can debug the issue yourself.
If not, copy the lines where the script failed into a
new GitHub Issue for us.
Or, attach the whole log file as an attachment.
OS X El Capitan (10.11)
You may have problems installing Homebrew for the first time on OS X El Capitan due to permission changes to the /usr directory (within which the Homebrew installation is typically located). See the Homebrew El Capitan troubleshooting instructions for steps to resolve the permissions issues that interfere with Homebrew's installation.
What it sets up
Mac OS X tools:
- Homebrew for managing operating system libraries.
- Exuberant Ctags for indexing files for vim tab completion
- Git for version control
- OpenSSL for Transport Layer Security (TLS)
- RCM for managing company and personal dotfiles
- The Silver Searcher for finding things in files
- Tmux for saving project state and switching between projects
- Zsh as your shell
- Hub for interacting with the GitHub API
- ImageMagick for cropping and resizing images
Programming languages and configuration:
- Bundler for managing Ruby libraries
- Rbenv for managing versions of Ruby
- Ruby Build for installing Rubies
- Ruby stable for writing general-purpose code
It should take less than 15 minutes to install (depends on your machine).
~/.laptop.local is run at the end of the Laptop script.
Put your customizations there.
#!/bin/sh brew_install_or_upgrade 'go' brew_install_or_upgrade 'ngrok' brew_install_or_upgrade 'watch' fancy_echo "Cleaning up old Homebrew formulae ..." brew cleanup brew cask cleanup if [ -r "$HOME/.rcrc" ]; then fancy_echo "Updating dotfiles ..." rcup fi
Write your customizations such that they can be run safely more than once.
mac script for examples.
Laptop functions such as
can be used in your
See the wiki for more customization examples.
brew install shellcheck
Thank you, contributors!
By participating in this project, you agree to abide by the thoughtbot code of conduct.
Laptop is © 2011-2016 thoughtbot, inc. It is free software, and may be redistributed under the terms specified in the LICENSE file.
Laptop is maintained and funded by thoughtbot, inc. The names and logos for thoughtbot are trademarks of thoughtbot, inc.