Giter Club home page Giter Club 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've tried:

  • OS X El Capitan (10.11)

Older versions may work but aren't regularly tested.

PreInstall

  • Install Xcode from the Mac App Store
  • Install the Command Line Tools for your OS/Xcode version

Install

Download, review, then execute the script:

cd ~
curl --remote-name https://raw.githubusercontent.com/hyfn/laptop/master/mac
curl --remote-name https://raw.githubusercontent.com/hyfn/laptop/master/example-laptop.local
less example-laptop.local
mv example-laptop.local .laptop.local

sh mac 2>&1 | tee ~/laptop.log

Optionally, install thoughtbot/dotfiles. You may also use Garrett's local dotfile overrides

PostInstall

Debugging

Your last Laptop run will be saved to ~/laptop.log.

OS X El Capitan (10.11)

You may have problems installing Homebrew for the first time on OS X El Capitan due to permission changes to the /usr directory (within which the Homebrew installation is typically located). See the Homebrew El Capitan troubleshooting instructions for steps to resolve the permissions issues that interfere with Homebrew's installation.

Note: You shouldn't have any problems with a up-to-date machine as of 11/2015

What it sets up

  • Bundler for managing Ruby libraries
  • Exuberant Ctags for indexing files for vim tab completion
  • Foreman for managing web processes
  • hub 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
  • MySql for storing relational data in HYFN8 Classic
  • SQLite for storing relational data in quick prototyping
  • Memcached Distributed memory object caching system
  • 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 (versions: 1.9.3 and 2.2.3)
  • The Silver Searcher for finding things in files
  • Tmux for saving project state and switching between projects
  • Zsh as your shell
  • Sequel Pro database management application for working with MySQL databases
  • Pgweb Web-based PostgreSQL database browser
  • iTerm2 a terminal emulator for Mac OSX
  • HipChat Group and private chat, file sharing, and integrations

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

gem_install_or_update 'parity'

brew_install_or_upgrade 'tree'
brew_install_or_upgrade 'watch'

brew_cask_install_or_upgrade 'firefox'

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.

See the wiki for more customization examples.

License

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

About thoughtbot

thoughtbot

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

We are passionate about open source software. See our other projects. We are available for hire.

laptop's People

Contributors

djcp avatar pbrisbin avatar garrettd714 avatar gohanlon avatar mike-burns avatar geoffharcourt avatar kenyonj avatar thcipriani avatar seanpdoyle avatar mkyaw avatar kerrick avatar keith avatar dayne avatar christoomey avatar aljohri avatar jdeerhake avatar marcdel avatar markchang avatar allaire avatar mjankowski avatar mtthwhggns avatar fivetwentysix avatar sikachu avatar reshleman avatar sarahghp avatar salbertson avatar xuebingli avatar trvrplk avatar michaelrkn avatar seltrus avatar

Watchers

Daniel Leavitt avatar Jonathan avatar  avatar Matt Otto avatar Velimir Lesikov avatar Anis Tayebali avatar James Cloos avatar Sazzadur Rahman avatar Maanas Bukkuri avatar Aaron Buchanan avatar Vinicius Ferreira Negrisolo avatar Ashley avatar jeremy avatar Andy Kwong avatar Beach Bot (no relation to Hugh Bot) avatar  avatar Matt White avatar Gregory McCubbin avatar  avatar Amit avatar  avatar Josh Evans avatar  avatar Peter Krouse avatar Jameson Gamble avatar  avatar Jamal avatar Jeremy Cho 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.