Commit 553c2e33d0f885f059b730e4647d197d5c4ed5f4
1 parent
a0281788e6
more readme love
Showing 1 changed file with 16 additions and 14 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. Install XCode Command Line Tools and/or full XCode. | 11 | 11 | 1. Install XCode Command Line Tools and/or full XCode. | |
1. Create a new repository on GitHub as your user for your Boxen. (eg. | 12 | 12 | 1. Create a new repository on GitHub as your user for your Boxen. (eg. | |
`wfarr/my-boxen`). **Make sure it is a private repository!** for now | 13 | 13 | `wfarr/my-boxen`). **Make sure it is a private repository!** for now | |
1. Get running like so: | 14 | 14 | 1. Get running like so: | |
15 | 15 | ``` | ||
``` | 16 | 16 | mkdir -p ~/src/my-boxen | |
mkdir -p ~/src/my-boxen | 17 | 17 | cd ~/src/my-boxen | |
cd ~/src/my-boxen | 18 | 18 | git init | |
git init | 19 | 19 | git remote add upstream https://github.com/boxen/our-boxen | |
git remote add upstream https://github.com/boxen/our-boxen | 20 | 20 | git fetch upstream | |
git fetch upstream | 21 | 21 | git co -b master upstream/master | |
git co -b master upstream/master | 22 | 22 | git remote add origin https://github.com/wfarr/my-boxen | |
git remote add origin https://github.com/wfarr/my-boxen | 23 | 23 | git push origin master | |
git push origin master | 24 | 24 | ||
25 | 25 | script/boxen | ||
script/boxen | 26 | 26 | ``` | |
``` | 27 | 27 | 1. Close and reopen your Terminal. If you have a shell config file | |
1. Close and reopen your Terminal. If you have a shell config file (eg. `~/.bashrc`) you'll need to add this at the very end: `[ -f /opt/boxen/env.sh ] && source /opt/boxen/env.sh`, | 28 | 28 | (eg. `~/.bashrc`) you'll need to add this at the very end: | |
29 | `[ -f /opt/boxen/env.sh ] && source /opt/boxen/env.sh`, and reload | |||
30 | your shell. | |||
1. Confirm the Boxen env has loaded: `boxen --env` | 29 | 31 | 1. Confirm the Boxen env has loaded: `boxen --env` | |
30 | 32 | |||
Now you have your own my-boxen repo that you can hack on. | 31 | 33 | Now you have your own my-boxen repo that you can hack on. | |
You may have noticed we didn't ask you to fork the repo. | 32 | 34 | You may have noticed we didn't ask you to fork the repo. | |
This is because when our-boxen goes open source that'd have some | 33 | 35 | This is because when our-boxen goes open source that'd have some | |
implications about your fork also potentially being public. | 34 | 36 | implications about your fork also potentially being public. | |
That's obviously quite bad, so that's why we strongly suggest you | 35 | 37 | That's obviously quite bad, so that's why we strongly suggest you | |
create an entirely separate repo and simply pull the code in, as shown above. | 36 | 38 | create an entirely separate repo and simply pull the code in, as shown above. | |
37 | 39 | |||
## What You Get | 38 | 40 | ## What You Get | |
39 | 41 | |||
This template project provides the following by default: | 40 | 42 | This template project provides the following by default: | |
41 | 43 | |||
* Homebrew | 42 | 44 | * Homebrew | |
* Git | 43 | 45 | * Git | |
* Hub | 44 | 46 | * Hub | |
* DNSMasq w/ .dev resolver for localhost | 45 | 47 | * DNSMasq w/ .dev resolver for localhost | |
* NVM | 46 | 48 | * NVM | |
* RBenv | 47 | 49 | * RBenv | |
* Full Disk Encryption requirement | 48 | 50 | * Full Disk Encryption requirement | |
* NodeJS 0.4 | 49 | 51 | * NodeJS 0.4 | |
* NodeJS 0.6 | 50 | 52 | * NodeJS 0.6 | |
* NodeJS 0.8 | 51 | 53 | * NodeJS 0.8 | |
* Ruby 1.8.7 | 52 | 54 | * Ruby 1.8.7 | |
* Ruby 1.9.2 | 53 | 55 | * Ruby 1.9.2 | |
* Ruby 1.9.3 | 54 | 56 | * Ruby 1.9.3 | |
* Ack | 55 | 57 | * Ack | |
* Findutils | 56 | 58 | * Findutils | |
* GNU-Tar | 57 | 59 | * GNU-Tar | |
58 | 60 | |||
## Customizing | 59 | 61 | ## Customizing | |
60 | 62 | |||
You can always check out the number of existing modules we already | 61 | 63 | You can always check out the number of existing modules we already | |
provide as optional installs under the | 62 | 64 | provide as optional installs under the | |
[boxen organization](https://github.com/boxen). These modules are all | 63 | 65 | [boxen organization](https://github.com/boxen). These modules are all | |
tested to be compatible with Boxen. Use the `Puppetfile` to pull them | 64 | 66 | tested to be compatible with Boxen. Use the `Puppetfile` to pull them | |
in dependencies automatically whenever `boxen` is run. You'll have to | 65 | 67 | in dependencies automatically whenever `boxen` is run. You'll have to | |
make sure your "node" (Puppet's term for your laptop, basically) | 66 | 68 | make sure your "node" (Puppet's term for your laptop, basically) | |
includes or requires them. You can do this by either modifying | 67 | 69 | includes or requires them. You can do this by either modifying | |
`manifests/site.pp` for each module, _or_ we would generally recommend | 68 | 70 | `manifests/site.pp` for each module, _or_ we would generally recommend | |
you create a module for your organization (eg. `modules/github`) and | 69 | 71 | you create a module for your organization (eg. `modules/github`) and | |
create an environment class in that. Then you need only adjust | 70 | 72 | create an environment class in that. Then you need only adjust | |
`manifests/site.pp` by doing `include github::environment` or | 71 | 73 | `manifests/site.pp` by doing `include github::environment` or | |
what-have-you for your organization. | 72 | 74 | what-have-you for your organization. | |
73 | 75 | |||
For organization projects (read: repositories that people will be working in), please see the documentation in the projects module template we provide. | 74 | 76 | For organization projects (read: repositories that people will be working in), please see the documentation in the projects module template we provide. | |
75 | 77 | |||
For per-user configuration that doesn't need to be applied globally to everyone, please see the documentation in the people module template we provide. | 76 | 78 | For per-user configuration that doesn't need to be applied globally to everyone, please see the documentation in the people module template we provide. | |
77 | 79 |