Skip to content

oryagel/strap

 
 

Repository files navigation

Strap

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.

Features

  • 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-like Brewfile 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 runs script/setup to configure them.
  • Installs software from a user's Brewfile in their https://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)

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:

Deploy to Heroku

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.

Build Status

Contact

Mike McQuaid

License

Strap is licensed under the MIT License. The full license text is available in LICENSE.txt.

About

👢 Bootstrap your macOS development system.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 55.4%
  • Ruby 40.4%
  • HTML 4.2%