Strap
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.
Features
- 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
bundler
-likeBrewfile
support) - Installs Homebrew Services (for managing Homebrew-installed services)
- Installs Homebrew Cask (for installing graphical software)
- Forwards
localhost
port80
to8080
and443
to8443
(for running web servers as an unprivileged user) - Installs the latest OS X software updates (for better security)
- Installs software from a user's
Brewfile
in theirhttps://github.com/username/homebrew-brewfile
repository or.Brewfile
in their home directory. - A simple web application to set Git's name, email and GitHub token
- Mostly idempotent (the slow bit is rerunning
brew update
)
Usage
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<li>
tags).
Status
Stable and in active development.
Contact
License
Strap is licensed under the MIT License. The full license text is available in LICENSE.txt.