Strap is a script to bootstrap a minimal macOS development system. This does not assume you're doing Ruby/Rails/web development but installs the minimal set of software every macOS developer will want.
- Disables Java in Safari (for better security)
- Enables the macOS screensaver password immediately (for better security)
- Enables the macOS 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)
- Installs the latest macOS software updates (for better security)
- Installs dotfiles from a user's
https://github.com/username/dotfiles
repository and runsscript/setup
to configure them. - 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 (needs to be authorized on any organizations you wish to access)
- Mostly idempotent (the slow bit is rerunning
brew update
)
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
If you are using dotfiles
or brewfiles
you need to configure first:
export STRAP_GITHUB_USER=<yourGithubLogin>
export STRAP_GITHUB_TOKEN=<YourPersonalAccessTokenWithPublicRepoScope>
(If you're logged into github, you can create such a token here: https://github.com/settings/tokens , remember the public_repo
scope)
If you want to configure your git beforehand, you need to export these variables first:
export STRAP_GIT_USER="<Your Name>"
export STRAP_GIT_EMAIL=<[email protected]>
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:
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).
Stable and in active development.
Strap is licensed under the MIT License. The full license text is available in LICENSE.txt.