Skip to content

Latest commit

 

History

History
172 lines (112 loc) · 3.91 KB

README.md

File metadata and controls

172 lines (112 loc) · 3.91 KB

Laptop

Laptop is a script to set up an macOS laptop for web / mobile / server development.

It can be run multiple times on the same machine safely. It installs, upgrades, or skips packages based on what is already installed on the machine.

Credits

This laptop script is based on thoughbot's laptop script and has simply been customized to our needs.

Requirements

Supported OS versions:

  • macOS Sierra (10.12)

Older versions may work but aren't necessarily tested.

Install

Download the script:

curl --remote-name https://raw.githubusercontent.com/sglanzer/laptop/master/laptop

Execute the downloaded script:

sh laptop 2>&1 | tee ~/laptop.log

Optionally, review the log:

less ~/laptop.log

Debugging

Your last Laptop run will be saved to ~/laptop.log.

What it sets up

OSX packaging:

Terminal + Shell:

  • iTerm2 for a better terminal
  • Tmux for saving project state and switching between projects

OSX development tools:

  • X-Code general development environment libraries

Unix tools:

Git tools:

  • Git for version control
  • GitHub Desktop for working with Github repos
  • Hub for interacting with the GitHub API
  • SourceTree as an alternative to Github Desktop

Server-side development:

  • Python in support of Ansible

  • Virtualenv to create isolated Python environments

  • Ansible for deployment automation

  • Go for microservice project development

  • Delve to debug Go projects

  • Protobuf data interchange format for gRPC

  • Gcloud SDK CLI for interacting with Google Cloud

Client-side development:

  • N for managing and installing Node.js versions

  • Node.js (8.x) for running apps

  • Yarn for managing JavaScript packages

  • ember-cli (2.15.x) for managing Ember.js projects

IDEs:

  • VSC for Go / Ember projects

IDE extensions:

Image tools:

Customize in ~/.laptop.local

Your ~/.laptop.local is run at the end of the Laptop script. Put your customizations there. See the Thoughbot guide for an example.