A shell script which turns your OS X laptop into an awesome web development machine.
Laptop is a script to set up an OS X computer for web 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.
Older versions may work but aren’t regularly tested. Bug reports for older
versions are welcome.
Download, review, then execute the script:
curl --remote-name https://raw.githubusercontent.com/xuncheng/laptop/master/mac
sh mac 2>&1 | tee ~/laptop.log
The script itself is
available in this repo for you to review if you want to see what it does
and how it works.
Note that the script will ask you to enter your OS X password at various
points. This is the same password that you use to log in to your Mac.
Once the script is done, make sure to quit and relaunch Terminal.
Your last Laptop run will be saved to ~/laptop.log
. Read through it to see if
you can debug the issue yourself. If not, copy and paste the entire log into a
new GitHub Issue for us.
macOS tools:
Unix tools:
Image tools:
Testing tools:
Programming languages and configuration:
Databases:
It should take less than 15 minutes to install (depends on your machine and
internet connection).
~/.laptop.local
Your ~/.laptop.local
is run at the end of the Laptop script.
Put your customizations there.
For example:
#!/bin/sh
brew bundle --file=- <<EOF
brew "Caskroom/cask/dockertoolbox"
brew "go"
brew "ngrok"
brew "watch"
EOF
default_docker_machine() {
docker-machine ls | grep -Fq "default"
}
if ! default_docker_machine; then
docker-machine create --driver virtualbox default
fi
default_docker_machine_running() {
default_docker_machine | grep -Fq "Running"
}
if ! default_docker_machine_running; then
docker-machine start default
fi
fancy_echo "Cleaning up old Homebrew formulae ..."
brew cleanup
brew cask cleanup
if [ -r "$HOME/.rcrc" ]; then
fancy_echo "Updating dotfiles ..."
rcup
fi
Write your customizations such that they can be run safely more than once.
See the mac
script for examples.
Laptop functions such as fancy_echo
andgem_install_or_update
can be used in your ~/.laptop.local
.
This laptop script is originally based on thoughtbot’s laptop script.