Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on May 30, 2015
  1. @croaky

    Install Zsh via Homebrew

    croaky authored
    This has the added advantages of:
    * Updating Zsh by re-running the Laptop script.
    * Some Zsh tab completions will be automatically added to `$fpath`.
Commits on Jan 18, 2015
  1. @croaky

    Fix rbenv idempotence

    croaky authored
    The `if` statement causes
    rbenv to only be installed,
    never upgraded.
    Now that we have `brew_install_or_upgrade`,
    we can eliminate the `if` statement.
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)
  2. @croaky

    Restart Redis

    croaky authored
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 19, 2014
  1. @croaky

    Use rbenv shell instead of rbenv local

    croaky authored
    `rbenv local` creates a `.ruby_version` file
    in the current directory.
  2. @croaky

    Use Homebrew for Git

    croaky authored
    We previously relied on the version of Git
    that comes with Xcode.
    The Homebrew version is easier to upgrade
    when new versions of Git are released,
    such as yesterday's security patch:
  3. @croaky

    Be more specific in printed output

    croaky authored
    * Say whether we are Installing, Upgrading, or Skipping.
    * Changes the behavior of `brew_install_or_upgrade`
      but simplifies and shortens the rest of the script.
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 5, 2014
  1. @croaky

    Rehash to get `bundle` command

    croaky authored
Commits on Dec 4, 2014
  1. @croaky

    Install libyaml to avoid failed Ruby compilation

    croaky authored
    I saw this problem while installing Ruby 2.1.4.
    Installing libyaml first solved the problem.
Commits on Dec 3, 2014
  1. @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 Nov 25, 2014
  1. @croaky

    Remove redundant Foreman

    croaky authored
    It is installed earlier via
Commits on Oct 29, 2014
  1. @croaky

    Fix typo

    croaky authored
  2. @croaky

    Make rbenv idempotent, install Ruby 2.1.4

    croaky authored
    * Don't repeat ourselves by using variables.
    * Use more consistent variable naming and use of `local` in functions.
    * Use `snake_case` for variable names and `ALLCAPS` for environment variables.
    * Use Bash double-bracket.
    * Set current shell to newest Ruby version.
    * Don't install `--pre` version of Bundler.
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.
Commits on Oct 2, 2014
  1. @croaky

    Install Postgres via Hombrew bottle

    croaky authored
    Upstream maintainers put thought into what is
    and what isn't sensible to include by default.
    Those decisions establish a de facto standard
    that is broader in scope than Laptop:
    Homebrew users, library users, etc.
    The further we stray from the defaults,
    the more likely we are to run into problems,
    and those problems will be harder.
    The most widely experienced, most urgent,
    and most rapidly fixed problems will be
    problems with installing using formula defaults.
    Problems from using non-defaults are relatively lonely.
    Also, Homebrew bottles are awesome:
    Using options forces an install from source rather than a bottle,
    which is much, much slower:
    > Options were passed to the install command i.e. `brew install
    > $FORMULA` will use a bottled version of `$FORMULA`, but `brew install
    > $FORMULA --enable-bar` will trigger a source build.
Commits on Oct 1, 2014
  1. @croaky

    Don't use Homebrew for rbenv

    croaky authored
    * Use the same Git/GitHub approach for Mac as we do for Linux.
    * This makes upgrading easier via `git pull`.
    * Add idempotency `if` guards.
    * Use bash-preferred bracket-bracket style.
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 Sep 22, 2014
  1. @croaky

    Don't redirect stderr to /dev/null

    croaky authored
    `&>` redirects both `stderr` and `stdout`.
    `>` redirects only stdout.
    Use `&>` when we explicitly want to ignore/discard error messages,
    which is rarely.
    `command -v` outputs only stdout.
    So, `>` is appropriate because there is expected `stderr` output.
    In the rare case that command fails,
    we want the reason printed.
Commits on Jul 22, 2014
  1. @croaky

    Switch to launchctl for Postgres

    croaky authored
    `brew services` is no longer supported:
    * Fixes #93
    * Fixes #243
    * Idempotently creates Postgres database cluster and starts (or restarts)
Commits on Apr 14, 2014
  1. @croaky

    Make mac script run idempotently

    croaky authored
    Use preferred POSIX `command -v` test for command existence instead of
    previous `which` technique. `which` exits with status `1` if nothing is
    found. That would cause the script to abort because we use `set -e`.
    Remove GCC dependency in mac script
    GCC is no longer necessary to compile Ruby. It was fixed in Ruby about
    two years ago. LLVM has been supported since 1.9.3-p125.
Commits on Apr 8, 2014
  1. @croaky
Commits on Mar 28, 2014
  1. @croaky

    Don't hardcode Ruby version

    croaky authored
    * Use endpoint.
    * We'll update the file when necessary, which is stored on S3 and served
      via Fastly.
    * Apply style guideline: "Use snake_case for variable names and ALLCAPS
      for environment variables."
Commits on Mar 20, 2014
  1. @croaky
Commits on Mar 17, 2014
  1. @croaky

    Start Postgres after it is installed

    croaky authored
    * Set up plist so Postgres will start up at login.
    * Create file for other potential `brew services start` lines. Redis?
Commits on Mar 15, 2014
  1. @croaky

    Upgrade Ruby to 2.1.1

    croaky authored
Commits on Mar 14, 2014
  1. @croaky

    Use Homebrew for `hub` on OS X

    croaky authored
    The previous method places the `hub` command in ~/bin/hub, which shows
    up in the dotfiles repo for thoughtbot/dotfiles users. We could
    gitignore the `bin/hub` gem there, but the hub README recommends using
    Homebrew or a package manager when it is available.
    This leaves the Linux version functionally the same.
Commits on Mar 3, 2014
  1. @croaky

    Install Suspenders instead of Rails

    croaky authored
    We more typically create Rails apps using Suspenders. Rails is a
    dependency of Suspenders, so it will still be installed.
Commits on Mar 1, 2014
  1. @croaky
Commits on Jan 9, 2014
  1. @croaky

    Upgrade Ruby to 2.1.0

    croaky authored
Commits on Dec 1, 2013
  1. @croaky

    Configure Bundler for parallel gem installs

    croaky authored
    * Set it globally for OS X.
    * Determine number of cores dynamically.
    * Pick one number less than number of cores to avoid deadlock errors.
    * Only install `--pre` for Bundler.
    * Remove `pg` and `unicorn` gems as they will be installed during `bundle`
      for a Rails project.
Commits on Nov 28, 2013
  1. @croaky

    Use updated Qt formula for Homebrew

    croaky authored
    The `--HEAD` flag is no longer necessary:
Something went wrong with that request. Please try again.