{"id":15572581,"url":"https://github.com/connorshea/bootstrapper","last_synced_at":"2026-01-20T20:11:43.454Z","repository":{"id":104434484,"uuid":"158979466","full_name":"connorshea/bootstrapper","owner":"connorshea","description":"Configurable Ruby script to set up a Mac with various useful development tools","archived":false,"fork":false,"pushed_at":"2018-12-02T23:48:44.000Z","size":21,"stargazers_count":1,"open_issues_count":6,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-06T21:43:13.985Z","etag":null,"topics":["bootstrapper","development-environment","homebrew","laptop","macos","ruby","setup","setup-macos"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/connorshea.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-11-24T22:41:11.000Z","updated_at":"2021-04-11T10:57:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"25e1a47c-e2ac-443b-8b17-381d0fd69f70","html_url":"https://github.com/connorshea/bootstrapper","commit_stats":{"total_commits":14,"total_committers":1,"mean_commits":14.0,"dds":0.0,"last_synced_commit":"95657f1aa8effd7b35f13dcd33badb20f9aa5342"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/connorshea/bootstrapper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/connorshea%2Fbootstrapper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/connorshea%2Fbootstrapper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/connorshea%2Fbootstrapper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/connorshea%2Fbootstrapper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/connorshea","download_url":"https://codeload.github.com/connorshea/bootstrapper/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/connorshea%2Fbootstrapper/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28612165,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T18:56:40.769Z","status":"ssl_error","status_checked_at":"2026-01-20T18:54:26.653Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bootstrapper","development-environment","homebrew","laptop","macos","ruby","setup","setup-macos"],"created_at":"2024-10-02T18:03:06.411Z","updated_at":"2026-01-20T20:11:43.431Z","avatar_url":"https://github.com/connorshea.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bootstrapper\n\n**NOTE**: This script been tested (without problems on a new 2018 MacBook Pro running Mojave), but not extensively. Mojave is the only version I've tested it on, past/future versions may work but there are no guarantees.\n\nThe goal of this Ruby script is to take a simple YAML configuration file and set up all the utilities one may need.\n\nThe idea comes from thoughtbot's [laptop](https://github.com/thoughtbot/laptop) script, which I wanted to make more configurable.\n\n## Usage\n\n1. Open the Terminal.\n2. Try to run `git help`, if the Xcode Command Line Tools aren't installed the command will fail and give you a dialog which will allow you to easily install the command line tools. Otherwise it'll just show some help info.\n3. Move to a directory you'd like to clone this git repository into.\n4. `git clone https://github.com/connorshea/bootstrapper.git`: Clone this repository with git.\n5. `cd bootstrapper`: Move to the bootstrapper directory you just created.\n6. Configure your `bootstrapper.yml` file (more info in the `bootstrapper.yml` section below.)\n7. `ruby bootstrapper.rb`: You _should not_ run this script as sudo. It has certain commands that must be run with sudo, and will therefore request your password, but the script itself shouldn't require sudo.\n   - **TIP**: You should pipe the script's output into `tee`, like so: `ruby bootstrapper.rb | tee output.txt`, this will make the script output both to the Terminal and to a separate file called `output.txt`. This allows the user to refer back to the outputs of the installation script later, as needed (e.g. certain brew formula may need special handling to work properly for certain use cases, and print instructions to stdout when they're installed).\n\nThe script will have a few inputs for you to respond to, such as your git username and email.\n\n## `bootstrapper.yml`\n\nThe `bootstrapper.yml` file is used to configure the Bootstrapper script. It can be modified to install certain dependencies, run arbitrary commands, etc.\n\n### Examples\n\nThis is an example of how a `bootstrapper.yml` file looks:\n\n```yml\nbootstrapper:\n  # Configure what the script should set up for you.\n  # Most of these are just installed from Homebrew.\n  config:\n    # homebrew can't actually be set to false or everything else will break, sorry!\n    homebrew: true\n    ruby: true\n    postgres: true\n    mysql: true\n    git: true\n    rbenv: true\n    vim: true\n  # Open these URLs before doing anything else.\n  # This is so you can install applications like a text editor, browser, etc.\n  # while you wait for brew to install everything.\n  open_urls:\n    # VS Code\n    - 'https://code.visualstudio.com'\n  # Homebrew packages that should be installed, this is for installing things\n  # the script doesn't already support.\n  # Leave this empty if you don't want to install any of it.\n  brew_install:\n    - 'cowsay'\n    - 'tree'\n  # Arbitrary commands to run after setting up the script. Be careful with this!\n  after_script:\n    - 'cowsay test'\n    - 'tree .'\n```\n\nYou can opt to not install any extra packages or run any extra bash commands by leaving those sections empty:\n\n```yml\nbootstrapper:\n  # Configure what the script should set up for you.\n  # Most of these are just installed from Homebrew.\n  config:\n    # homebrew can't actually be set to false or everything else will break, sorry!\n    homebrew: true\n    postgres: true\n    mysql: false\n    git: false\n    rbenv: false\n    vim: false\n  # Open these URLs before doing anything else.\n  # This is so you can install applications like a text editor, browser, etc.\n  # while you wait for brew to install everything.\n  open_urls:\n  # Homebrew packages that should be installed, this is for installing things\n  # the script doesn't already support.\n  # Leave this empty if you don't want to install any of it.\n  brew_install:\n  # Arbitrary commands to run after setting up the script. Be careful with this!\n  # Leave this empty if you don't want to run any extra commands.\n  after_script:\n```\n\nSee [examples/](examples/) for more example YAML files.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconnorshea%2Fbootstrapper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fconnorshea%2Fbootstrapper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconnorshea%2Fbootstrapper/lists"}