Skip to content
/ laptop Public
forked from thoughtbot/laptop

A shell script which turns your Linux or OS X laptop into an awesome development machine.

License

Notifications You must be signed in to change notification settings

agios/laptop

Repository files navigation

Laptop

Laptop is a script to set up a Mac OS X or Linux laptop for Rails development.

Requirements

Mac OS X

Install a C compiler:

For Snow Leopard (10.6): use OS X GCC Installer.

For Lion (10.7) or Mountain Lion (10.8): use Command Line Tools for XCode.

For Mavericks (10.9): installed with the script, no prerequisite.

Linux

We support:

Install

Mac OS X

Read, then run the script:

bash <(curl -s https://raw.githubusercontent.com/thoughtbot/laptop/master/mac) |& tee ~/laptop.log

Linux

Read, then run the script:

bash <(wget -qO- https://raw.githubusercontent.com/thoughtbot/laptop/master/linux) |& tee ~/laptop.log

Debugging

Your last Laptop run will be saved to ~/laptop.log. 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.

What it sets up

  • Zsh as your shell
  • Bundler gem for managing Ruby libraries
  • Exuberant Ctags for indexing files for vim tab completion
  • Foreman for serving Rails apps locally
  • Heroku Config plugin for local ENV variables
  • Heroku Toolbelt for interacting with the Heroku API
  • Hub gem for interacting with the GitHub API
  • Homebrew for managing operating system libraries (OS X only)
  • ImageMagick for cropping and resizing images
  • Node.js and NPM, for running apps and installing JavaScript packages
  • Parity for development, staging, and production parity
  • Postgres for storing relational data
  • Qt for headless JavaScript testing via Capybara Webkit
  • Rails gem for writing web applications
  • Rbenv for managing versions of the Ruby programming language
  • Redis for storing key-value data
  • Ruby Build for installing Rubies
  • Ruby stable for writing general-purpose code
  • The Silver Searcher for finding things in files
  • Tmux for saving project state and switching between projects
  • Watch for periodically executing a program and displaying the output

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

Laptop can be run multiple times on the same machine safely. It will upgrade already installed packages and install and activate a new version of ruby (if one is available).

Make your own customizations

Put your customizations in ~/.laptop.local. For example, your ~/.laptop.local might look like this:

#!/bin/sh

brew tap caskroom/cask
brew install brew-cask

brew cask install dropbox
brew cask install google-chrome
brew cask install rdio

You should write your customizations such that they can be run safely more than once. See the mac and linux scripts for examples.

Laptopped Linux Vagrant boxes

We now publish Vagrant boxes for every supported Linux distro. These boxes have the laptop script applied already and are ready to go.

Create a Vagrantfile:

vagrant init thoughtbot/ubuntu-14-04-server-with-laptop

In the same directory as your Vagrantfile:

vagrant up
vagrant ssh

Laptopped vagrantcloud boxes currently available:

  • thoughtbot/debian-wheezy-64-with-laptop
  • thoughtbot/debian-jessie-64-with-laptop
  • thoughtbot/ubuntu-14-04-server-with-laptop
  • thoughtbot/ubuntu-13-10-server-with-laptop
  • thoughtbot/ubuntu-12-04-server-with-laptop

See our vagrantcloud profile. You must have Vagrant >= 1.5.0 to use vagrantcloud images directly.

Credits

thoughtbot

Laptop is maintained and funded by thoughtbot, inc. The names and logos for thoughtbot are trademarks of thoughtbot, inc.

Thank you, contributors!

Contributing

Please see CONTRIBUTING.md.

License

Laptop is © 2011-2014 thoughtbot, inc. It is free software, and may be redistributed under the terms specified in the LICENSE file.

About

A shell script which turns your Linux or OS X laptop into an awesome development machine.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 66.8%
  • Shell 33.2%