Strap is a script to bootstrap a minimal OS X development system. This does not assume you're doing Ruby/Rails/web development but installs the minimal set of software every OS X developer will want.
- Disables Java in Safari (for better security)
- Enables the OS X screensaver password immediately (for better security)
- Enables the OS X application firewall (for better security)
- Adds a
Found this computer?message to the login screen (for machine recovery)
- Enables full-disk encryption and saves the FileVault Recovery Key to the Desktop (for better security)
- Installs the Xcode Command Line Tools (for compilers and Unix tools)
- Agree to the Xcode license (for using compilers without prompts)
- Installs Homebrew (for installing command-line software)
- Installs Homebrew Versions (for installing older versions of command-line software)
- Installs Homebrew Bundle (for
- Installs Homebrew Services (for managing Homebrew-installed services)
- Installs Homebrew Cask (for installing graphical software)
- Installs the latest OS X software updates (for better security)
- Installs dotfiles from a user's
https://github.com/username/dotfilesrepository and runs
script/setupto configure them.
- Installs software from a user's
.Brewfilein their home directory.
- A simple web application to set Git's name, email and GitHub token (needs to be authorized on any organizations you wish to access)
- Mostly idempotent (the slow bit is rerunning
Open https://osx-strap.herokuapp.com in your web browser.
Alternatively, to run Strap locally run:
git clone https://github.com/mikemcquaid/strap cd strap bash bin/strap.sh # or bash bin/strap.sh --debug for more debugging output
Alternatively, to run the web application locally run:
git clone https://github.com/mikemcquaid/strap cd strap GITHUB_KEY="..." GITHUB_SECRET="..." ./script/server
Alternatively, to deploy to Heroku click:
Web Application Configuration Environment Variables
GITHUB_KEY: the GitHub.com Application Client ID..
GITHUB_SECRET: the GitHub.com Application Client Secret..
SESSION_SECRET: the secret used for cookie session storage.
WEB_CONCURRENCY: the number of Unicorn (web server) processes to run (defaults to 3).
STRAP_ISSUES_URL: the URL where users should file issues (defaults to https://github.com/mikemcquaid/strap/issues/new).
STRAP_BEFORE_INSTALL: instructions displayed in the web application for users to follow before installing Strap (will be wrapped in
Stable and in active development.