Code Monkey home page Code Monkey logo

laptop's Introduction

Laptop

Laptop is a script to set up an OS X laptop for web development.

It can be run multiple times on the same machine safely. It installs, upgrades, or skips packages based on what is already installed on the machine.

Requirements

We support:

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

Install

Download, review, then execute the script:

curl --remote-name https://raw.githubusercontent.com/thoughtbot/laptop/master/mac
less mac
sh mac 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 managing web processes
  • gh for interacting with the GitHub API
  • Heroku Toolbelt for interacting with the Heroku API
  • Homebrew for managing operating system libraries
  • ImageMagick for cropping and resizing images
  • Node.js and NPM, for running apps and installing JavaScript packages
  • Postgres for storing relational data
  • Qt for headless JavaScript testing via Capybara Webkit
  • Rbenv for managing versions of Ruby
  • RCM for managing company and personal dotfiles
  • 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
  • Zsh as your shell

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

Customize in ~/.laptop.local

Your ~/.laptop.local is run at the end of the Laptop script. Put your customizations there. For example:

#!/bin/sh

brew_tap 'caskroom/cask'
brew_install_or_upgrade 'brew-cask'

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

gem_install_or_upgrade 'parity'

brew_install_or_upgrade 'tree'
brew_install_or_upgrade 'watch'

Write your customizations such that they can be run safely more than once. See the mac script for examples.

Laptop functions such as fancy_echo, brew_install_or_upgrade, and gem_install_or_update can be used in your ~/.laptop.local.

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

Edit the mac file. Document in the README.md file. Follow shell style guidelines by using ShellCheck and Syntastic.

brew install shellcheck

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

5minpause avatar acconrad avatar aljohri avatar allaire avatar ash106 avatar chip avatar christoomey avatar dayne avatar derekprior avatar djcp avatar drapergeek avatar endsly avatar esbanarango avatar ffleming avatar geoffharcourt avatar gohanlon avatar jdeerhake avatar jferris avatar jrafanie avatar jsuchal avatar keith avatar kenyonj avatar kerrick avatar marcdel avatar markchang avatar mike-burns avatar pbrisbin avatar shadowfiend avatar skippednote avatar thcipriani avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

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.