One of the things that may prevent us from changing or even just thinking of changing our working environments is the necessity to do all the installations and the configurations that we once set up that are needed for software development. Fortunately, there is a cure for this pain. Laptop is a script that prepares your working macOS machine for web and mobile development.

It installs, upgrades or skips packages based on what is already installed on the machine.

This scripts setups up:

macOS tools:

  • Homebrew for managing operating system libraries.

Unix tools:

  • 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
  • Watchman for watching for filesystem events
  • Zsh as your shell

Heroku tools:

GitHub tools:

  • Hub for interacting with the GitHub API

Image tools:

Testing tools:

Programming languages, package managers, and configuration:

  • ASDF for managing programming language versions
  • Bundler for managing Ruby libraries
  • Node.js and NPM, for running apps and installing JavaScript packages
  • Ruby stable for writing general-purpose code
  • Yarn for managing JavaScript packages

Databases:

  • Postgres for storing relational data
  • Redis for storing key-value data

Its installation is pretty straightforward and can be done very quickly.

First, you need to download the script:

curl --remote-name https://raw.githubusercontent.com/thoughtbot/laptop/master/mac

You should review the script before you run it:

less mac

Then you can execute the downloaded script:

sh mac 2>&1 | tee ~/laptop.log

Finally, you can review the log:

less ~/laptop.log

It should take less than 15 minutes to install (depends on your machine).

macOS versions that are supported at the time of this writing are:

  • macOS Mavericks (10.9)
  • macOS Yosemite (10.10)
  • macOS El Capitan (10.11)
  • macOS Sierra (10.12)

According to the Laptop’s description, older versions of macOS may work but aren’t regularly tested.

Laptop is an open source project, initiated and maintained by Thoughtbot. You can view more information about it and its implementation and also have the opportunity to contribute to it by visiting its GitHub page.