{"id":21848961,"url":"https://github.com/civilcode/laptop","last_synced_at":"2026-04-13T23:04:30.199Z","repository":{"id":99410958,"uuid":"74161395","full_name":"civilcode/laptop","owner":"civilcode","description":"A shell script which turns your macOS laptop into an awesome CivilCode development machine","archived":false,"fork":false,"pushed_at":"2023-10-19T20:35:28.000Z","size":43,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-26T12:41:31.296Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/civilcode.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2016-11-18T19:48:25.000Z","updated_at":"2023-10-15T13:05:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"3b8e04c8-575a-459d-be2f-aa51d66ebbfb","html_url":"https://github.com/civilcode/laptop","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/civilcode%2Flaptop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/civilcode%2Flaptop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/civilcode%2Flaptop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/civilcode%2Flaptop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/civilcode","download_url":"https://codeload.github.com/civilcode/laptop/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244842432,"owners_count":20519614,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-11-28T00:09:45.908Z","updated_at":"2026-04-13T23:04:30.172Z","avatar_url":"https://github.com/civilcode.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Laptop\n\nLaptop is a script to set up an macOS laptop for web development.\n\nIt can be run multiple times on the same machine safely. It installs, upgrades, or skips packages\nbased on what is already installed on the machine.\n\n## Requirements\n\nWe support:\n\n* macOS Sierra (10.12)\n* macOS High Sierra (10.13)\n* macOS Mojave (10.14)\n\n## Install (first account, i.e. admin)\n\nMake sure Atom is already installed on the system beforehand.\n\nDownload, review, then execute the script:\n\n    curl --remote-name https://raw.githubusercontent.com/civilcode/laptop/master/mac\n    less mac\n    sh mac 2\u003e\u00261 | tee ~/laptop.log\n\nThe script won't install homebrew and its packages as the should be already\ninstalled by the main user account.\n\n## Install (second and additional accounts, i.e. personal user)\n\nDownload, review, then execute the script:\n\n    curl --remote-name https://raw.githubusercontent.com/civilcode/laptop/master/mac\n    less mac\n    sh mac ANOTHER_USER=1 2\u003e\u00261| tee ~/laptop.log\n\n## Debugging\n\nYour last Laptop run will be saved to `~/laptop.log`.\nRead through it to see if you can debug the issue yourself.\nIf not, copy the lines where the script failed into a\n[new GitHub Issue](https://github.com/civilcode/laptop/issues/new) for us.\nOr, attach the whole log file as an attachment.\n\n## What it sets up\n\nPlease see inline comments to see what is setup.\n\nIt should take less than 15 minutes to install (depends on your machine).\n\n## Customize in `~/.laptop.local`\n\nYour `~/.laptop.local` is run at the end of the Laptop script.\nPut your customizations there.\nFor example:\n\n    #!/bin/sh\n\n    brew bundle --file=- \u003c\u003cEOF\n    brew \"Caskroom/cask/dockertoolbox\"\n    brew \"go\"\n    brew \"ngrok\"\n    brew \"watch\"\n    EOF\n\n    default_docker_machine() {\n      docker-machine ls | grep -Fq \"default\"\n    }\n\n    if ! default_docker_machine; then\n      docker-machine create --driver virtualbox default\n    fi\n\n    default_docker_machine_running() {\n      default_docker_machine | grep -Fq \"Running\"\n    }\n\n    if ! default_docker_machine_running; then\n      docker-machine start default\n    fi\n\n    fancy_echo \"Cleaning up old Homebrew formulae ...\"\n    brew cleanup\n    brew cask cleanup\n\n    if [ -r \"$HOME/.rcrc\" ]; then\n      fancy_echo \"Updating dotfiles ...\"\n      rcup\n    fi\n\nWrite your customizations such that they can be run safely more than once.\nSee the `mac` script for examples.\n\nLaptop functions such as `fancy_echo` and `gem_install_or_update` can be used in your `~/.laptop.local`.\n\nSee the [thoughtbot wiki](https://github.com/thoughtbot/laptop/wiki) for more customization examples.\n\n## How to test\n\nTo test this script on a clean install. Use the VM Fusion virtual machine image we have setup.\n\n## Credits\n\nThe CivilCode Inc. laptop script is based on and inspired by\n[thoughtbot's laptop](https://github.com/thoughtbot/laptop) script.\n\nthoughtbot's original work remains covered under an\n[MIT License](https://github.com/thoughtbot/laptop/blob/c997c4fb5a986b22d6c53214d8f219600a4561ee/LICENSE).\n\n## About the CivilCode Collective\n\nThe [CivilCode Collective](http://www.civilcode.io), a group of freelance developers, build tailored business applications in [Elixir](http://elixir-lang.org/) and [Phoenix](http://www.phoenixframework.org/)\nin Montreal, Canada.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcivilcode%2Flaptop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcivilcode%2Flaptop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcivilcode%2Flaptop/lists"}