All Projects → MikeMcQuaid → Strap

MikeMcQuaid / Strap

Licence: mit
👢 Bootstrap your macOS development system.

Programming Languages

shell
77523 projects
ruby
36898 projects - #4 most used programming language
HTML
75241 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to Strap

Fugen
Command line tool for exporting resources and generating code from your Figma files
Stars: ✭ 41 (-97.74%)
Mutual labels:  xcode, homebrew
Cider
Hassle-free bootstrapping with Homebrew.
Stars: ✭ 858 (-52.68%)
Mutual labels:  homebrew, bootstrap
Carting
🚘 A simple tool for updating Carthage script phase
Stars: ✭ 182 (-89.96%)
Mutual labels:  xcode, homebrew
Appicon
AppIcon generates *.appiconset contains each resolution image for iOS
Stars: ✭ 1,454 (-19.8%)
Mutual labels:  xcode, homebrew
Makesen
响应式企业门户网站 jQuery/Bootstrap开发
Stars: ✭ 134 (-92.61%)
Mutual labels:  bootstrap
Liftoff
Stars: ✭ 1,633 (-9.93%)
Mutual labels:  xcode
Homebrew Openjdk
AdoptOpenJDK HomeBrew Tap
Stars: ✭ 1,798 (-0.83%)
Mutual labels:  homebrew
Xcode Time Tracker
Stars: ✭ 131 (-92.77%)
Mutual labels:  xcode
Brew.js
[WIP] C++ high-level JavaScript API for Nintendo 3DS/Switch
Stars: ✭ 136 (-92.5%)
Mutual labels:  homebrew
Coreui Free Bootstrap Admin Template
CoreUI is free bootstrap admin template
Stars: ✭ 11,038 (+508.83%)
Mutual labels:  bootstrap
React Redux Bootstrap Webpack Starter
React 16.9 + Typescript + React-Router 4 + Redux + Bootstrap 4 + Hot Reload + redux-devtools-extension + Webpack 4 + styled-components STARTER
Stars: ✭ 133 (-92.66%)
Mutual labels:  bootstrap
Pretty Checkbox
A pure CSS library to beautify checkbox and radio buttons.
Stars: ✭ 1,708 (-5.79%)
Mutual labels:  bootstrap
Lc Design
A UI component framework for building LCUI application.
Stars: ✭ 134 (-92.61%)
Mutual labels:  bootstrap
Natrium
A pre-build (Swift) script to alter your Xcode project at pre-build-time per environment, build configuration and target.
Stars: ✭ 131 (-92.77%)
Mutual labels:  xcode
Bootstrap Table
An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation, Vue.js)
Stars: ✭ 11,068 (+510.48%)
Mutual labels:  bootstrap
Cgoperators
Easily manipulate CGPoints, CGSizes and CGVectors using math operators
Stars: ✭ 131 (-92.77%)
Mutual labels:  xcode
Robe React Ui
Robe React UI Components
Stars: ✭ 133 (-92.66%)
Mutual labels:  bootstrap
Aliddns
aliyun ddns for golang【阿里云DDNS服务,用来将自己的动态IP同步到自己的域名解析服务器,安装方便,配置简单,默认支持Linux和MacOS以后台服务方式持续运行】
Stars: ✭ 136 (-92.5%)
Mutual labels:  homebrew
Quicktype Xcode
Xcode extension to paste JSON as Swift, Objective-C, and more
Stars: ✭ 1,656 (-8.66%)
Mutual labels:  xcode
Roothub
使用 SSM 和 MySQL 开发的论坛系统
Stars: ✭ 131 (-92.77%)
Mutual labels:  bootstrap

Strap

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.

Motivation

Replacing Boxen in GitHub with a better tool. This post outlines the problems with Boxen and requirements for Strap and other tools used by GitHub: https://mikemcquaid.com/2016/06/15/replacing-boxen/

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 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. If they exist and are executable: runs script/setup to configure the dotfiles and script/strap-after-setup after setting up everything else.
  • 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 authorised on any organisations you wish to access)
  • Idempotent

Out of Scope Features

  • Enabling any network services by default (instead enable them when needed)
  • Installing Homebrew formulae by default for everyone in an organisation (install them with Brewfiles in project repositories instead of mandating formulae for the whole organisation)
  • Opting-out of any macOS updates (Apple's security updates and macOS updates are there for a reason)
  • Disabling security features (these are a minimal set of best practises)
  • Add phone number to security screen message (want to avoid prompting users for information on installation)

Usage

Open https://macos-strap.herokuapp.com/ in your web browser.

Instead, 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

Instead, to run the web application locally run:

git clone https://github.com/MikeMcQuaid/strap
cd strap
./script/bootstrap
GITHUB_KEY="..." GITHUB_SECRET="..." ./script/server

Instead, to deploy to Heroku click:

Deploy to Heroku

Strap is also available as a Docker image on Docker Hub (mikemcquaid/strap) and GitHub Packages (ghcr.io/mikemcquaid/strap).

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 no URL).
  • STRAP_BEFORE_INSTALL: instructions displayed in the web application for users to follow before installing Strap (wrapped in <li> tags).
  • CUSTOM_HOMEBREW_TAP: an optional Homebrew tap to install with brew tap. Specify multiple arguments to brew tap by separating values with spaces.
  • CUSTOM_BREW_COMMAND: a single brew command that is run after all other stages have completed.

Status

Stable and in active development.

Contact

Mike McQuaid

License

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].