Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Apr 8, 2015
  1. @croaky

    Add code of conduct

    croaky authored
Commits on Mar 7, 2015
  1. @croaky

    Rework thoughtbot section of README

    croaky authored
    * Update logo to use new HTTPS version.
    * Change header from "Credits" to "About thoughtbot".
    * Move "thank you" to contributors section.
    * Make "About thoughtbot" the last thing in the README,
      with the copyrights grouped closer to the LICENSE information.
    * Link to LICENSE.
    * Make the community link more obvious that we have other projects.
    * Finish with a CTA to hire us.
    * Include `utm_source` codes to improve tracking.
Commits on Feb 15, 2015
  1. @croaky

    Update copyright to 2015

    croaky authored
  2. @croaky

    Add link to wiki from README for customizations

    Richard Moorhead authored croaky committed
Commits on Feb 3, 2015
  1. @reshleman

    Correct typo in README

    reshleman authored
    The sample `.laptop.local` incorrectly referred to
    `gem_install_or_upgrade` instead of `gem_install_or_update`.
Commits on Jan 16, 2015
  1. @croaky
Commits on Jan 12, 2015
  1. @croaky

    Remove NVM, simplify to `brew install node`

    croaky authored
    From @derekprior:
    > I never used NVM. I just kept my homebrew installed version pinned to
    > the version we were using. As a company this is probably totally fine
    > because we don't jump back and forth between node projects like we do
    > with Ruby projects. Also, there is no "system" node to worry about.
    #341 (comment)
Commits on Dec 29, 2014
  1. @pbrisbin

    Remove bashisms, use /bin/sh shebang

    pbrisbin authored
    - Remove glob within test command
    - Replace [[ bashism with POSIX [
    - Replace source bashism with POSIX .
    - Replace (( bashism with POSIX [
    - Remove process substitution bashism
    Other fixes:
    - Simplify return value negation
    - Use grep -F for speedup on non-regex
    - Use $HOME consistently over ~
Commits on Dec 22, 2014
  1. @croaky

    Add gem_install_or_update function

    croaky authored
    * Use it for Bundler.
    * Document it for others' use in their ~/laptop.local.
    * Delete out of date part of README.
  2. @croaky
Commits on Dec 9, 2014
  1. @croaky

    Use `tree` as customization example

    croaky authored
    Laptop should be responsible for setting up
    the compilers,
    system package manager,
    programming language version managers & installers,
    large system dependencies such as Postgres,
    and any critical config for those tools
    which is often overlooked but can cause bugs and headaches.
    Other useful command-line tools such as `watch` and `tree`
    are better installed in individuals' `~/.laptop.local` files.
    Add `tree` as a good example for that file.
    Try to make `~/.laptop.local` explanation clearer
    and more prominent by placing it in a heading.
    Remove Suspenders as an example.
    Right before using Suspenders,
    it's probably best to re-install it to get the latest.
  2. @croaky
Commits on Dec 8, 2014
  1. @croaky

    Remove Parity, Watch, Suspenders, and Rails

    croaky authored
    * These are great tools, but not critical.
    * Some tools should be re-installed right before their use,
      such as Suspenders.
    * Restrict Laptop to more fundamental setup.
    * Document how to install these in `~/.laptop.local`.
Commits on Dec 3, 2014
  1. @pbrisbin

    Suggested installation includes an explicit review step

    pbrisbin authored
    While we did previously state "Read, then...", that's easier to ignore.
    This brings the copy-pastable commands in line with the intent: to have
    the user review the script before executing it. This also removes the
    potentially confusing use of process substitution.
    Note: The presence of `less` is assumed to avoid assumptions about
    editors or the noise of handling that robustly (e.g. `${EDITOR:-vim}`)
  2. @croaky

    Use ShellCheck to enforce shell style

    croaky authored
    * Document in "Contributing" section.
    * Use GitHub code fences to improve syntax highlighting.
    * Don't be so Rails-y in the documentation.
Commits on Nov 26, 2014
  1. @croaky

    Remove Heroku Config

    croaky authored
    I haven't been using `heroku config:pull`, etc. for some time.
    Instead, I've been using more targeted shell lines insides our
    [`bin/setup`] convention, such as:
        if ! grep -F "FILEPICKER" .env > /dev/null; then
          heroku config --remote staging | grep "FILEPICKER" >> .env
          sed -i '' 's/\:/=/' .env
          sed -i '' 's/ //g' .env
    This is more targeted and automated than using `heroku config:pull`.
Commits on Oct 16, 2014
  1. @croaky

    Link to Yosemite marketing page

    croaky authored
Commits on Oct 12, 2014
  1. @croaky

    Drop Linux support

    croaky authored
    We don't have anyone at thoughtbot using the supported Linux versions,
    which makes supporting those versions difficult:
    The majority of the code in the project deals with Linux
    or with the need to support multiple operating systems.
  2. @gohanlon @croaky

    Declare support for OS X Yosemite

    gohanlon authored croaky committed
  3. @gohanlon @croaky
Commits on Sep 23, 2014
  1. @croaky @pbrisbin

    Switch from `hub` to `gh`

    croaky authored pbrisbin committed
    [gh] is a [hub] reimplementation that's much faster and is now the official
    Github CLI. It appears that "hub" is [deprecated].
    [deprecated]: github/hub#475
Commits on Aug 15, 2014
Commits on Aug 5, 2014
  1. @jkrmr @croaky

    Add compatibility for Bash 3.x

    jkrmr authored croaky committed
    The `|&` is new in Bash 4, which is not the default on Macs.
    Given that Laptop is meant to be run on a fresh machine, `2>&1 |` is preferable,
    since it'll work on the Bash 3.x, which is what comes installed on new machines.
Commits on Jul 29, 2014
  1. @croaky

    Clarify OS X support

    croaky authored
Commits on Jul 28, 2014
  1. @croaky

    Link README to programs that Laptop installs

    croaky authored
    So that users can learn more about them.
Commits on Jul 26, 2014
  1. @croaky

    Drop support for Snow Leopard

    croaky authored
    * Snow Leopard was released in August, 2009 (about five years ago).
    * Yosemite will be released in a couple of months.
    * We support the last three versions of Ubuntu, so this is a little more
    * Use the same format as the Linux "Requirements" section for consistency.
Commits on Jul 23, 2014
  1. @gohanlon @croaky

    Update prerequisites in README

    gohanlon authored croaky committed
    Homebrew's install script checks whether the command line tools are installed,
    and, only if necessary, will run `xcode-select --install`.
    The test they are using depends in part on a heuristic:
    I confirmed that it works on a clean 10.9 install.
    We also should not instruct the user to run `sudo xcodebuild -license` at all.
    Here's why:
    The `xcodebuild program` isn't included in OS X Mavericks. When you run
    `xcodebuild`, you're actually finding one of 83 shims found in `/usr/bin` that
    are included in Mavericks. These shims are an important part of how the
    `xcode-select` mechanism works. When the command line developer tools have not
    been installed, invoking any of these shims won't do anything other than prompt
    you to install the command line developer tools:
        $ xcodebuild -license
        xcode-select: note: no developer tools were found at
        '/Applications/', requesting install.
        Choose an option in the dialog to download the command line developer tools.
    (And, the GUI install dialog is presented.)
    Of course, since the real `xcodebuild` program isn't actually available, it
    doesn't make sense to try and use it to accept the Xcode License Agreement.
    Instead, go straight to installing with `xcode-select --install` (xcode-select
    comes with OS X Mavericks and is not a shim):
        $ xcode-select --install
        xcode-select: note: install requested for command line developer tools
    And, the exact same GUI install dialog is presented (prompting the user to
    either "Get Xcode" from the App Store or immediately "Install" the command line
    developer tools).
    For more about `xcode-select` and it's shims, see `man xcode-select`.
    This also removes redundant Vagrant setup instructions and capitalize Vagrant.
  2. @croaky

    Log the output of the script to a file and stdout

    croaky authored
    Thanks for the implementation, @pbrisbin.
Commits on Jul 10, 2014
  1. @mike-burns

    Install foreman on OS X

    mike-burns authored
    This uses installer(1).
    On GNU we already install `heroku-toolbelt` using apt, and that package
    has a dependency on the `foreman` package.
    We install this via installer(1) instead of gem(1) so that it remains
    regardless of the development Ruby setup.
    We install this via installer(1) instead of from the `Gemfile` so that
    it remains regardless of what other developers do on the project (as
    described by David Dollar).
Commits on Jul 9, 2014
  1. @seanpdoyle

    Installs `parity`

    seanpdoyle authored
    * `curl` / `heroku-toolbelt` / `pg_restore` should all
      already be available
Commits on Jun 20, 2014
  1. Extend and improve osx idempotency

    Dan Collis-Puro authored
    * Fix the "brew_install_or_upgrade" function, use it for all components
    * Remove executable perms
    * Skip installing an already installed ruby
    Technically re-running laptop is not idempotent in that it will upgrade
    brew-installed items and potentially install a new ruby. I feel this
    is expected and wanted.
Commits on Jun 13, 2014
  1. Install nvm and node on Mac laptops

    Dan Collis Puro and Dan Croak authored Dan Collis-Puro committed
    * Installing nvm via homebrew
    * Adding node init stubs to .zshrc
    * Installs node 0.10.28 and uses it by default
  2. @endSly
Commits on Jun 6, 2014
  1. Refactor automated laptop tests to use rspec

    Dan Collis-Puro authored
    * A minimal gem, rake, and rspec environment
    * The Distro class wraps up commands to test and provision vagrant boxes
    * Publishing boxes to s3 has been simplified and improved
    * Significant documentation updates
    New laptop specs should now be significantly easier to write and understand.
Something went wrong with that request. Please try again.