Commit 0bd729feb2b59fe2e549ab409ebdea69d80b6220
1 parent
38a27ec9cb
README updates
Showing 1 changed file with 18 additions and 9 deletions Inline Diff
README.md
# Our Boxen | 1 | 1 | # Our Boxen | |
2 | 2 | |||
This is a template Boxen project designed for your organization to fork and | 3 | 3 | This is a template Boxen project designed for your organization to fork and | |
modify appropriately. | 4 | 4 | modify appropriately. | |
The Boxen rubygem and the Boxen puppet modules are only a framework for getting | 5 | 5 | The Boxen rubygem and the Boxen puppet modules are only a framework for getting | |
things done. | 6 | 6 | things done. | |
This repository template is just a basic example of _how_ to do things with them. | 7 | 7 | This repository template is just a basic example of _how_ to do things with them. | |
8 | 8 | |||
## Getting Started | 9 | 9 | ## Getting Started | |
10 | 10 | |||
1. Fork this repository. | 11 | 11 | It's pretty important you follow these steps exactly. | |
2. Modify the `Puppetfile` and `modules/` to your heart's content. | 12 | 12 | You should not fork this repository for your organization's Boxen. | |
3. Get a copy of your fork somewhere locally. | 13 | 13 | We have some pretty specific semantics about forking and public/private repositories. | |
4. Install the XCode Command Line Tools package. You need an Apple ID. We know. It sucks. You can thank Apple for not allowing the Command Line Tools to be redistributed publicly. | 14 | 14 | We really recommend doing it this way: | |
5. `cd` to that dir and run `script/boxen` | 15 | 15 | ||
6. Ensure you have `[ -f /opt/boxen/env.sh ] && source /opt/boxen/env.sh` in your shell config. If you don't have a shell config yet, we automatically add this to `~/.profile` for you. | 16 | 16 | 1. Create a new local git repository. Create a private repository on GitHub under your organization for your boxen (eg. `myorg/myorg-boxen`) | |
7. Open a new shell. | 17 | 17 | 1. In your new repository, `git remote add upstream https://github.com/boxen/our-boxen && git fetch upstream && git co -b master upstream/master` | |
8. Verify `boxen --env` prints out `BOXEN_` env vars. | 18 | 18 | 1. Now follow the directions GitHub gave you when creating your private copy to push the master branch to your private copy. | |
9. Rock out. :metal: | 19 | 19 | ||
20 | With that done, now you can tweak it to your use: | |||
21 | ||||
22 | 1. Modify the `Puppetfile` and `modules/` to your heart's content. | |||
23 | 1. Install the XCode Command Line Tools package. You need an Apple ID. We know. It sucks. You can thank Apple for not allowing the Command Line Tools to be redistributed publicly. | |||
24 | 1. `cd` to that dir and run `script/boxen` | |||
25 | 1. Ensure you have `[ -f /opt/boxen/env.sh ] && source /opt/boxen/env.sh` in your shell config. If you don't have a shell config yet, we automatically add this to `~/.profile` for you. | |||
26 | 1. Open a new shell. | |||
27 | 1. Verify `boxen --env` prints out `BOXEN_` env vars. | |||
28 | 1. Rock out. :metal: | |||
20 | 29 | |||
## What You Get | 21 | 30 | ## What You Get | |
22 | 31 | |||
This template project provides the following by default: | 23 | 32 | This template project provides the following by default: | |
24 | 33 | |||
* Homebrew | 25 | 34 | * Homebrew | |
* Git | 26 | 35 | * Git | |
* Hub | 27 | 36 | * Hub | |
* DNSMasq w/ .dev resolver for localhost | 28 | 37 | * DNSMasq w/ .dev resolver for localhost | |
* NVM | 29 | 38 | * NVM | |
* RBenv | 30 | 39 | * RBenv | |
* Full Disk Encryption requirement | 31 | 40 | * Full Disk Encryption requirement | |
* NodeJS 0.4 | 32 | 41 | * NodeJS 0.4 | |
* NodeJS 0.6 | 33 | 42 | * NodeJS 0.6 | |
* NodeJS 0.8 | 34 | 43 | * NodeJS 0.8 | |
* Ruby 1.8.7 | 35 | 44 | * Ruby 1.8.7 | |
* Ruby 1.9.2 | 36 | 45 | * Ruby 1.9.2 | |
* Ruby 1.9.3 | 37 | 46 | * Ruby 1.9.3 | |
* Ack | 38 | 47 | * Ack | |
* Findutils | 39 | 48 | * Findutils | |
* GNU-Tar | 40 | 49 | * GNU-Tar | |
41 | 50 | |||
## Customizing | 42 | 51 | ## Customizing | |
43 | 52 | |||
You can always check out the number of existing modules we already provide as optional installs under the [boxen organization](https://github.com/boxen). These modules are all tested to be compatible with Boxen. You can include these modules by modifying the Puppetfile, adding them to `manifests/site.pp` if they should be installed on every machine, and then running `boxen`. | 44 | 53 | You can always check out the number of existing modules we already provide as optional installs under the [boxen organization](https://github.com/boxen). These modules are all tested to be compatible with Boxen. You can include these modules by modifying the Puppetfile, adding them to `manifests/site.pp` if they should be installed on every machine, and then running `boxen`. | |
45 | 54 | |||
For your organization, it's recommended you create a module to contain the configuration in the `modules/` directory (eg. `modules/github`). | 46 | 55 | For your organization, it's recommended you create a module to contain the configuration in the `modules/` directory (eg. `modules/github`). | |
Then, you simply need to include that module in `manifests/site.pp`. | 47 | 56 | Then, you simply need to include that module in `manifests/site.pp`. | |
48 | 57 | |||
For organization projects (read: repositories that people will be working in), please see the documentation in the projects module template we provide. | 49 | 58 | For organization projects (read: repositories that people will be working in), please see the documentation in the projects module template we provide. |