Skip to content

Commit

Permalink
Link README to programs that Laptop installs
Browse files Browse the repository at this point in the history
So that users can learn more about them.
  • Loading branch information
Dan Croak committed Jul 28, 2014
1 parent dd88469 commit 53783e6
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 33 deletions.
75 changes: 50 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,27 +55,52 @@ whole log file as an attachment.
What it sets up
---------------

* Zsh as your shell
* Bundler gem for managing Ruby libraries
* Exuberant Ctags for indexing files for vim tab completion
* Foreman for serving Rails apps locally
* Heroku Config plugin for local `ENV` variables
* Heroku Toolbelt for interacting with the Heroku API
* Hub gem for interacting with the GitHub API
* Homebrew for managing operating system libraries (OS X only)
* ImageMagick for cropping and resizing images
* Node.js and NPM, for running apps and installing JavaScript packages
* Parity for development, staging, and production parity
* Postgres for storing relational data
* Qt for headless JavaScript testing via Capybara Webkit
* Rails gem for writing web applications
* Rbenv for managing versions of the Ruby programming language
* 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
* Watch for periodically executing a program and displaying the output
* [Bundler] for managing Ruby libraries
* [Exuberant Ctags] for indexing files for vim tab completion
* [Foreman] for serving Rails apps locally
* [Heroku Config] for local `ENV` variables
* [Heroku Toolbelt] for interacting with the Heroku API
* [Hub] for interacting with the GitHub API
* [Homebrew] for managing operating system libraries (OS X only)
* [ImageMagick] for cropping and resizing images
* [Node.js] and [NPM], for running apps and installing JavaScript packages
* [NVM] for managing versions of Node.js
* [Parity] for development, staging, and production parity
* [Postgres] for storing relational data
* [Qt] for headless JavaScript testing via Capybara Webkit
* [Rails] gem for writing web applications
* [Rbenv] for managing versions of Ruby
* [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
* [Watch] for periodically executing a program and displaying the output
* [Zsh] as your shell

[Bundler]: http://bundler.io/
[Exuberant Ctags]: http://ctags.sourceforge.net/
[Foreman]: https://github.com/ddollar/foreman
[Heroku Config]: https://github.com/ddollar/heroku-config
[Heroku Toolbelt]: https://toolbelt.heroku.com/
[Hub]: https://hub.github.com/
[Homebrew]: http://brew.sh/
[ImageMagick]: http://www.imagemagick.org/
[Node.js]: http://nodejs.org/
[NPM]: https://www.npmjs.org/
[NVM]: https://github.com/creationix/nvm
[Parity]: https://github.com/croaky/parity
[Postgres]: http://www.postgresql.org/
[Qt]: http://qt-project.org/
[Rails]: http://rubyonrails.org/
[Rbenv]: https://github.com/sstephenson/rbenv
[Redis]: http://redis.io/
[Ruby Build]: https://github.com/sstephenson/ruby-build
[Ruby]: https://www.ruby-lang.org/en/
[The Silver Searcher]: https://github.com/ggreer/the_silver_searcher
[Tmux]: http://tmux.sourceforge.net/
[Watch]: http://linux.die.net/man/1/watch
[Zsh]: http://www.zsh.org/

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

Expand All @@ -101,11 +126,11 @@ Put your customizations in `~/.laptop.local`. For example, your
You should write your customizations such that they can be run safely more than
once. See the `mac` and `linux` scripts for examples.

Laptopped Linux Vagrant boxes
Laptop'ed Linux Vagrant boxes
-----------------------------

We now publish [Vagrant](http://vagrantup.com) boxes for every supported Linux
distro. These boxes have the laptop script applied already and are ready to go.
We now publish [Vagrant](http://vagrantup.com) boxes with the Laptop script
applied for every supported Linux distro.

Create a Vagrantfile:

Expand All @@ -116,7 +141,7 @@ In the same directory as your Vagrantfile:
vagrant up
vagrant ssh

Laptopped vagrantcloud boxes currently available:
Laptop'ed vagrantcloud boxes currently available:

* `thoughtbot/debian-wheezy-64-with-laptop`
* `thoughtbot/debian-jessie-64-with-laptop`
Expand Down
16 changes: 8 additions & 8 deletions TESTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Currently, only the linux script is tested.
[aws-cli]: http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html

`aws-cli` is only necessary if you're one of the maintainers and want to
publish new "laptopped" boxes.
publish new "Laptop'ed" boxes.

## Running the tests

Expand All @@ -34,21 +34,21 @@ For each file found at `./spec/vagrantfiles/Vagrantfile.*`:

1. No specs are run if a rendered box already exists
2. Vagrant creates and starts a VM as described by the Vagrantfile
3. The appropriate laptop script is run inside the VM
3. The appropriate Laptop script is run inside the VM
4. Some assertions are made against the VMs state
5. If all specs pass, then a vagrant box is rendered to the filesystem, ready to be published to s3

If you want to re-run specs (and therefore re-render new vagrant boxes with
laptop freshly applied to them), simply `rm *.box` in the repository root and
laptop will be re-run against all Vagrantfiles.
laptop freshly applied to them), `rm *.box` in the repository root and Laptop
will be re-run against all Vagrantfiles.

The "render box when specs are successful" workflow allows you to focus on
failing distros and re-run only those specs that've failed.

The following are the assertions:

1. The VM was brought up successfully
2. The laptop script(s) ran successfully
2. The Laptop script(s) ran successfully
3. The VM reports the correct `$SHELL`
4. The VM reports the correct ruby
5. A rails app can be created successfully
Expand Down Expand Up @@ -86,10 +86,10 @@ This will copy the new box to a temporary name, remove the original and move
the temp into place to minimize downtime.

It only publishes boxes that have a different file size locally than what's on
s3. Unfortunately, s3 does not return an md5sum for large files in a way that'd
S3. Unfortunately, S3 does not return an md5sum for large files in a way that'd
be easy to compare to a local copy without downloading the entire file. So -
theoretically - if a new laptopped box had the same size as the immediately
previous one, it would not get published to s3. This seems fairly unlikely,
theoretically - if a new Laptop'ed box had the same size as the immediately
previous one, it would not get published to S3. This seems fairly unlikely,
given that we're dealing with an entire operating system.

## Removing a deprecated release
Expand Down

0 comments on commit 53783e6

Please sign in to comment.