Giter Site home page Giter Site logo

laptop's Introduction

Laptop

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

Requirements

Mac OS X

We support:

Older versions may work but aren't regularly tested. Bug reports for older versions are welcome.

Linux

We support:

Install

Mac OS X

Read, then run the script:

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

Linux

Read, then run the script:

bash <(wget -qO- https://raw.githubusercontent.com/uni380/laptop/master/linux) 2>&1 | 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

  • 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).

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.

Laptop'ed Linux Vagrant boxes

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.

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.

laptop's People

Contributors

allaire avatar chip avatar christoomey avatar dayne avatar derekprior avatar djcp avatar drapergeek avatar endsly avatar esbanarango avatar fivetwentysix avatar geoffharcourt avatar gohanlon avatar jdeerhake avatar jnsbl avatar jrafanie avatar jsuchal avatar kerrick avatar marcdel avatar markchang avatar michaelrkn avatar mike-burns avatar mjankowski avatar pbrisbin avatar salbertson avatar sarahghp avatar seanpdoyle avatar seltrus avatar sikachu avatar thcipriani avatar trvrplk avatar

Watchers

 avatar  avatar  avatar

laptop's Issues

Make the scripts reentrant

Allow re-runing the scripts to repair the environment by detecting existing Git repos and pulling instead of cloning them.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.