Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Automation with Boxen

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →
Avatar for Alex Fish Alex Fish
January 16, 2014

Automation with Boxen

Automate all the macs!

Avatar for Alex Fish

Alex Fish

January 16, 2014

More Decks by Alex Fish

Other Decks in Technology

Transcript

  1. boxen WHAT CAN BOXEN DO? 1. Set your screensaver 2.

    Install homebrew packages 3. Install your favorite music player 4. Configure vim 5. Install sublime text packages 6. Setup a project 7. Configure git 8. Lots more…. , 8
  2. boxen MODULES , 15 class ustwo::development { git::config::global { 'color.ui':

    value => 'true'; 'core.ignorecase': value => 'false'; 'branch.autosetuprebase': value => 'always'; } }
  3. boxen PEOPLE , 16 class people::alexfish { include ustwo::development !

    $home = "/Users/${::boxen_user}" $my = "${home}/my" $dotfiles = "${my}/dotfiles" ! file { $my: ensure => directory } ! repository { $dotfiles: source => 'alexfish/dotfiles', require => File[$my] } }
  4. boxen PROJECTS , 17 class projects::foobar { boxen::project { 'foobar':

    ruby => '1.9.3', source => 'ustwo/foobar', } → exec { "bundle install”: } }
  5. boxen PUPPETFILE , 18 github "iterm2", "1.0.4" github "philip", "1.1.2"

    github "sonos", "1.0.3" github "alfred", "1.1.7" github "charles", "1.0.4"
  6. boxen We decide to move to ruby 2.0.0 Pull request

    on the boxen repo Shoot out an email Next time people run boxen they are on ruby 2.0.0 , 20 UPDATING RUBY
  7. boxen STARTING ON A NEW PROJECT , 21 $ boxen

    foobar class people::alexfish { include projects::foobar }
  8. boxen INSTALLING A NEW APPLICATION ! We decide we all

    need charles Add charles to the puppet file include charles in the development module next time a developer runs boxen, they get charles. , 22