borrow insterface functions from github.com/atomantic/dotfiles
implement interface functions
use require cask to install brew casks
user .bak instead of .orig
refactor os_defaults
refactor bash ifs
new ui for ssh package
new ui for sublimt text package
new ui for virtualbox
skip update homebrew