Laptop is a script to set up a Mac OS X or Linux laptop for Rails development.
We support:
Older versions may work but aren't regularly tested. Bug reports for older versions are welcome.
We support:
- 14.04: Trusty Tahr,
- 12.04 LTS: Precise Pangolin,
- Debian stable (currently wheezy).
- Debian testing (currently jessie).
Read, then run the script:
bash <(curl -s https://raw.githubusercontent.com/uni380/laptop/master/mac) 2>&1 | tee ~/laptop.log
Read, then run the script:
bash <(wget -qO- https://raw.githubusercontent.com/uni380/laptop/master/linux) 2>&1 | tee ~/laptop.log
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.
- Bundler for managing Ruby libraries
- Exuberant Ctags for indexing files for vim tab completion
- Foreman for serving Rails apps locally
- Heroku Config for local
ENV
variables - Heroku Toolbelt for interacting with the Heroku API
- Hub for interacting with the GitHub API
- Homebrew for managing operating system libraries (OS X only)
ImageMagick for cropping and resizing images(removed by uni380)Node.js and NPM, for running apps and installing JavaScript packages(removed by uni380)NVM for managing versions of Node.js(removed by uni380)Parity for development, staging, and production parity(removed by uni380)- Postgres for storing relational data
- Qt for headless JavaScript testing via Capybara Webkit
Rails gem for writing web applications(removed by uni380)- Sinatra gem for writing web applications (added by uni380)
- Rbenv for managing versions of Ruby
Redis for storing key-value data(removed by uni380)- 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
- Pry (jazz_hands) as interactive Ruby console and debugger (added by uni380)
- Zsh as your shell
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).
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.
We now publish Vagrant boxes with the Laptop script applied for every supported Linux distro.
Create a Vagrantfile:
vagrant init thoughtbot/ubuntu-14-04-server-with-laptop
In the same directory as your Vagrantfile:
vagrant up
vagrant ssh
Laptop'ed 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-12-04-server-with-laptop
See our vagrantcloud profile. You must have Vagrant >= 1.5.0 to use vagrantcloud images directly.
Laptop is maintained and funded by thoughtbot, inc. The names and logos for thoughtbot are trademarks of thoughtbot, inc.
Thank you, contributors!
Please see CONTRIBUTING.md.
Laptop is © 2011-2014 thoughtbot, inc. It is free software, and may be redistributed under the terms specified in the LICENSE file.