Skip to content

picuscreative/laptop

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

344 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Laptop

Laptop is a script to set up an macOS laptop for web and mobile development based on Thoughbot laptop project.

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.

Requirements

We support:

  • macOS Mavericks (10.9)
  • macOS Yosemite (10.10)
  • macOS El Capitan (10.11)
  • macOS Sierra (10.12)

Older versions may work but aren't regularly tested. Bug reports for older versions are welcome.

Install

Download the script:

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

Review the script (avoid running scripts you haven't read!):

less mac

Execute the downloaded script:

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

Optionally, review the log:

less ~/laptop.log

Debugging

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 the lines where the script failed into a new GitHub Issue for us. Or, attach the whole log file as an attachment.

What it sets up

macOS tools:

  • Homebrew for managing operating system libraries.

Unix tools:

  • Exuberant Ctags for indexing files for vim tab completion
  • Git for version control
  • OpenSSL for Transport Layer Security (TLS)
  • RCM for managing company and personal dotfiles
  • The Silver Searcher for finding things in files
  • Tmux for saving project state and switching between projects
  • Watchman for watching for filesystem events
  • Zsh as your shell
  • Oh My Zsh will not make you a 10x developer...but you might feel like one.

Image tools:

Programming languages, tools, package managers, and configuration:

  • ASDF for managing programming language versions
  • Bundler for managing Ruby libraries
  • Node.js and NPM, for running apps and installing JavaScript packages
  • Ruby stable for writing general-purpose code
  • Vagrant for development virtual machines
  • Varying Vagrant Vagrants for Wordpress development with Vagrant

Day to day dependencies:

  • Visual Studio Code
  • Google Chrome
  • Google Backup and Sync
  • Gyazo
  • Filezilla
  • Firefox
  • Iterm2
  • Postman
  • SequelPro
  • Skype
  • Slack
  • SourceTree
  • Spectacle
  • Toggl
  • VirtualBox

It should take less than 30 minutes to install (depends on your machine and network conditions).

Customize in ~/.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 and gem_install_or_update can be used in your ~/.laptop.local.

See the wiki for more customization examples.

Contributing

Edit the mac file. Document in the README.md file. Follow shell style guidelines by using ShellCheck and Syntastic.

brew install shellcheck

Thank you Thoughbot and contributors!

License

MIT License - PICUS

About

A shell script to set up a macOS laptop for web and mobile development.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Shell 100.0%