项目作者: xuncheng

项目描述 :
A shell script which turns your OS X laptop into an awesome web development machine.
高级语言: Shell
项目地址: git://github.com/xuncheng/laptop.git
创建时间: 2016-09-29T16:18:16Z
项目社区:https://github.com/xuncheng/laptop

开源协议:

下载


Laptop

Build Status

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.

Requirements

  • macOS Ventura (13.0.1)

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

Install

Download, review, then execute the script:

  1. curl --remote-name https://raw.githubusercontent.com/xuncheng/laptop/master/mac
  2. 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.

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 and paste the entire log into a
new GitHub Issue for us.

What it sets up

macOS tools:

Unix tools:

  • Exuberant Ctags for indexing files for vim tab completion
  • Git for version control
  • OpenSSL for Transport Layer Security (TLS)
  • Selecta A fuzzy text selector for files and anything else you need to select.
  • The Silver Searcher for finding things in files
  • Tmux for saving project state and switching between projects
  • Zsh as your shell

Image tools:

Testing tools:

  • Qt for headless JavaScript testing via Capybara Webkit

Programming languages and configuration:

  • Bundler for managing Ruby libraries
  • NVM for managing Node.js versions if you do not have Node.js already installed (Includes latest Node.js and NPM, for running apps and installing JavaScript packages)
  • RVM for managing Ruby versions (includes Bundler and the latest Ruby)
  • Ruby stable for writing general-purpose code

Databases:

  • Redis for storing key-value data

It should take less than 15 minutes to install (depends on your machine and
internet connection).

Customize in ~/.laptop.local

Your ~/.laptop.local is run at the end of the Laptop script.
Put your customizations there.
For example:

  1. #!/bin/sh
  2. brew bundle --file=- <<EOF
  3. brew "Caskroom/cask/dockertoolbox"
  4. brew "go"
  5. brew "ngrok"
  6. brew "watch"
  7. EOF
  8. default_docker_machine() {
  9. docker-machine ls | grep -Fq "default"
  10. }
  11. if ! default_docker_machine; then
  12. docker-machine create --driver virtualbox default
  13. fi
  14. default_docker_machine_running() {
  15. default_docker_machine | grep -Fq "Running"
  16. }
  17. if ! default_docker_machine_running; then
  18. docker-machine start default
  19. fi
  20. fancy_echo "Cleaning up old Homebrew formulae ..."
  21. brew cleanup
  22. brew cask cleanup
  23. if [ -r "$HOME/.rcrc" ]; then
  24. fancy_echo "Updating dotfiles ..."
  25. rcup
  26. 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.

Credits

This laptop script is originally based on thoughtbot’s laptop script.