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.
This laptop script is based on thoughbot's laptop script and has simply been customized to our needs.
Supported OS versions:
- macOS Sierra (10.12)
Older versions may work but aren't necessarily tested.
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
Your last Laptop run will be saved to ~/laptop.log
.
OSX packaging:
- Homebrew for managing OSX libraries
Terminal + Shell:
- Zsh as the shell
- Prezto amps up Zsh
- Zsh-completions additional completion definitions for Zsh
OSX development tools:
- X-Code general development environment libraries
Unix tools:
- OpenSSL for Transport Layer Security (TLS)
- The Silver Searcher for finding things in files
- Universal Ctags for indexing files for vim tab completion
- Watchman for watching for filesystem events
- Wget for http(s)/ftp file retrieval
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:
- ...more
- vsc-ember-modules: Ember module import snippets
Image tools:
- ImageMagick for cropping and resizing images
Your ~/.laptop.local
is run at the end of the Laptop script.
Put your customizations there.
See the Thoughbot guide for an example.