Boxen
with tags Boxen Git OSX puppet imaging github -Setting up a new laptop is always a bit of a ballache as there’s always something you’ll miss.
But at least for OSX theres boxen to do most of the heavy lifting for you which can install everything from steam and MS Office to htop and lynx/links/elinks or even just set your screensaver to BSOD.
Boxen is a handy little tool from github that they use internally for deploying environments for devs, Its not the most user friendl= tool to get your head around but once you have you can go from a blank OSX install to up and running in about 15mins
Prereqs
- A fairly clean install (Boxen doesnt play nice with existing homebrew/rubyenv installs)
- Xcode (command line utils)
- A github account without a hypen (Boxen hammers githubs api and will take forever if not authenticated)
Setup
Now you’ll need to clone their repo
git clone https://github.com/boxen/our-boxen
Once done can start setting up your own configs in ./modules/people/manifests/$GITHUB_USERNAME.pp
replace $GITHUB_USERNAME with your own username
this takes the form of a puppet class
class people::$GITHUB_USERNAME {
}
from here you can simply include the packages from https://github.com/boxen/ so to install virtualbox
your puppet module would look like
class people::$GITHUB_USERNAME {
include virtualbox
}
and you’d need to append github "virtualbox"
to ./Puppetfile
but that’s a bit too simple
class people::$GITHUB_USERNAME {
###### Environment Settings ##########
include osx::disable_app_quarantine
include osx::dock::autohide
include osx::dock::dim_hidden_apps
include osx::finder::empty_trash_securely
include osx::finder::show_all_on_desktop
include osx::finder::show_hidden_files
include osx::global::disable_key_press_and_hold
include osx::global::enable_standard_function_keys
include osx::global::tap_to_click
include osx::no_network_dsstores
include osx::software_update
class { 'osx::global::natural_mouse_scrolling':
enabled => false #Makes the touch pad behave like it should
}
class { 'osx::dock::hot_corners':
top_right => "Start Screen Saver",
bottom_left => "Mission Control"
}
}
you’ll need to append github "osx"
to ./Puppetfile
for more examples see my fork of boxen which contains my full setup