Commits on Dec 19, 2014
  1. Be more specific in printed output

    croaky committed Dec 18, 2014
    * 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 9, 2014
  1. Use `tree` as customization example

    croaky committed Dec 9, 2014
    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.
Commits on Dec 8, 2014
  1. Remove Parity, Watch, Suspenders, and Rails

    croaky committed Dec 8, 2014
    * 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
Commits on Dec 4, 2014
  1. Install libyaml to avoid failed Ruby compilation

    croaky committed Dec 4, 2014
    I saw this problem while installing Ruby 2.1.4.
    Installing libyaml first solved the problem.
Commits on Dec 3, 2014
  1. Suggested installation includes an explicit review step

    pbrisbin committed Dec 3, 2014
    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. Use ShellCheck to enforce shell style

    croaky committed Dec 3, 2014
    * Document in "Contributing" section.
    * Use GitHub code fences to improve syntax highlighting.
    * Don't be so Rails-y in the documentation.
  3. Use Homebrew for rbenv and ruby-build

    Dan Croak and Ken Ip authored and croaky committed Nov 11, 2014
    * Many thoughtbot employees are successfully using Homebrew'd rbenv.
    * rbenv's recommended install is Homebrew for OS X:
    * We use Homebrew / package management whenever possible for
      system dependencies.
    * We save a step adding rbenv to `PATH` in zshrc / zshenv,
      because Homebrew does it for us.
      This is nice because we don't add `rbenv` to `PATH` in
Commits on Nov 26, 2014
  1. Remove Heroku Config

    croaky committed Nov 25, 2014
    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. Remove redundant Foreman

    croaky committed Nov 25, 2014
    It is installed earlier via
Commits on Nov 20, 2014
  1. Remove rbenv-gem-rehash plugin installation

    keith committed Nov 20, 2014
    This plugin was merged into rbenv
Commits on Oct 29, 2014
  1. Fix typo

    croaky committed Oct 29, 2014
  2. Make rbenv idempotent, install Ruby 2.1.4

    croaky committed Oct 28, 2014
    * 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 22, 2014
  1. Changes heroku-config plugin url to use https

    5minpause authored and croaky committed Oct 22, 2014
    Many corporate firewalls block the git:// protocol.
    Changing this URI to use https:// makes it usable for more people.
    The other Git URIs are all using https://.
    This was previously the only exception.
  2. Don't use /etc/zshrc

    jferris committed Oct 22, 2014
    * Using zshrc causes path_helper to override PATH from zshenv
    * We set up rbenv among other things in zshenv
Commits on Oct 19, 2014
  1. Only change to zsh if it is not the shell

    ffleming authored and croaky committed Oct 19, 2014
    `chsh` requires a password input, which we want to avoid where possible.
Commits on Oct 16, 2014
Commits on Oct 14, 2014
  1. Restrict .gitignore to only Vim files

    croaky committed Oct 14, 2014
    No need to ignore Vagrant-related, Ruby-related, and other files
    now that we are not supporting Linux.
Commits on Oct 12, 2014
  1. Drop Linux support

    croaky committed Oct 12, 2014
    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. Declare support for OS X Yosemite

    gohanlon authored and croaky committed Oct 2, 2014
Commits on Oct 10, 2014
  1. Remove explicit new line addition

    kenyonj committed Oct 10, 2014
    Relies on `append_to_zshrc` to add a new line after the appended text.
    `append_to_zshrc()` will accept a second argument (`boolean`) to skip the new
    line before the appended text, by default a new line will always be prepended.
Commits on Oct 9, 2014
  1. Create append_to_zshrc()

    kenyonj committed Oct 9, 2014
Commits on Oct 2, 2014
  1. Install Postgres via Hombrew bottle

    croaky committed Oct 1, 2014
    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. Fixes rbenv component path in the manifest files

    Simon authored and croaky committed Oct 1, 2014
    Commit bc5a7c6 changed how rbenv is installed
    ("Use the same Git/GitHub approach for Mac as we do for Linux."),
    but was missing the changes in the manifest files.
    This commit fixes the corresponding manifest files.
  2. Don't use Homebrew for rbenv

    croaky committed Sep 30, 2014
    * 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 30, 2014
Commits on Sep 25, 2014
  1. Update Homebrew script URL to new location

    mtthwhggns authored and croaky committed Sep 24, 2014
Commits on Sep 23, 2014
  1. Switch from `hub` to `gh`

    croaky authored and pbrisbin committed Aug 10, 2014
    [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. Don't redirect stderr to /dev/null

    croaky committed Sep 22, 2014
    `&>` 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 Aug 31, 2014
  1. Make `brew_is_upgradable` mac function more robust

    gohanlon committed Aug 31, 2014
    Rely on logic of `brew outdated` to decide whether a brew is upgradable.
    Fixes #276 and #282:
    * #276
    * #282