require boxen::environment require homebrew Exec { group => 'staff', logoutput => on_failure, user => $boxen_user, path => [ "${boxen::config::home}/rbenv/shims", "${boxen::config::home}/rbenv/bin", "${boxen::config::home}/rbenv/plugins/ruby-build/bin", "/usr/local/bin", '/usr/bin', '/bin', '/usr/sbin', '/sbin' ], environment => [ "HOMEBREW_CACHE=${homebrew::config::cachedir}", "HOME=/Users/${::boxen_user}" ] } File { group => 'staff', owner => $boxen_user } Package { provider => homebrew, require => Class['homebrew'] } Repository { provider => git, extra => [ '--recurse-submodules' ], require => File["${boxen::config::bindir}/boxen-git-credential"], config => { 'credential.helper' => "${boxen::config::bindir}/boxen-git-credential" } } Service { provider => ghlaunchd } Homebrew::Formula <| |> -> Package <| |> node default { # core modules, needed for most things include git include hub # fail if FDE is not enabled if $::root_encrypted == 'no' { fail('Please enable full disk encryption and try again') } # node versions include nodejs::v0_10 include nodejs::global # ruby versions ruby::version { '1.9.3': } ruby::version { '2.1.2': } include ruby::global # python versions python::version { '2.7.8': } python::version { '3.4.1': } python::version { 'pypy-2.3.1': } include python::global file { "${boxen::config::srcdir}/our-boxen": ensure => link, target => $boxen::config::repodir } }