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:
- 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
- Watchman for watching for filesystem events
- Zsh as your shell
- Hub for interacting with the GitHub API
- ImageMagick for cropping and resizing images
Programming languages, package managers, and configuration:
- ASDF for managing programming language versions
- Bundler for managing Ruby libraries
- Ruby stable for writing general-purpose code
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:
Then you can execute the downloaded script:
sh mac 2>&1 | tee ~/laptop.log
Finally, you can review the 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.