workstation.sh
is a script to set up an OS X computer for 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.
Workstation supports clean installations of these operating systems:
Older versions may work but aren't regularly tested. Bug reports for older versions are welcome.
Install macOS and update to the latest. Install Xcode via the App Store. Run Xcode and accept the license agreement.
run workstation.sh
brew cask install iterm2
- Flux for adjusting your Mac's display color so you can sleep better
- GitHub for Mac for setting up your SSH keys automatically
- Homebrew for managing operating system libraries
- Homebrew Cask for quickly installing Mac apps from the command line
- Homebrew Services so you can easily stop, start, and restart services
- RVM for managing Ruby versions (includes Bundler and the latest Ruby)
Plus, additional customizations and installations can be specified!
Begin by opening the Terminal application on your Mac. The easiest way to open
an application in OS X is to search for it via Spotlight. The default
keyboard shortcut for invoking Spotlight is command-Space
. Once Spotlight
is up, just start typing the first few letters of the app you are looking for,
and once it appears, press return
to launch it.
In your Terminal window, copy and paste each of these commands one at a
time, then press return
after each one:
git clone https://github.com/jongillies/workstation.git
cd workstation
Copy the local customization script:
cp workstation.local.sh ~/.workstation.local.sh
Your ~/.workstation.local.sh
is run at the end of the workstation.sh
script.
Put your customizations there. This repo already contains a .workstation.local.sh
you can use to get started. It lets you install the following tools
(commented out by default):
- Adium
- Amazon Cloud Drive
- Apache Directory Studio
- App Cleaner
- Avast
- Boot2Docker Status
- Boot2Docker
- Chrome
- CloudApp
- Cool Term
- Cyberduck
- Dropbox
- Evernote
- Firefox
- Flash Player
- Google Drive
- Handbrake
- Intellij IDEA
- iTerm2
- Jaikoz
- Jing
- Joinme
- Keepassx
- Lastpass
- MacPar Deluxe
- Menu Meters
- MYSQL Workbench
- PyCharm
- Rubymine
- Skype
- Snagit
- Source Tree
- Steam
- Sublime Text 3
- Text Wrangler
- Transmission Remote GUI
- Transmission
- Unison
- Vagrant Manager
- Vagrant
- Virtualbox
- VlC
- VMware Fusion
To install any of the above tools, uncomment them from .workstation.local.sh
by
removing the #
. For example, to install CloudApp, your .workstation.local.sh
should look like this:
#!/bin/sh
# brew_cask_install 'atom'
brew_cask_install 'cloud'
# brew_cask_install 'firefox'
# brew_cask_install 'iterm2'
Write your customizations such that they can be run safely more than once.
See the workstation.sh
script for examples.
Laptop functions such as fancy_echo
, brew_install_or_upgrade
,
gem_install_or_update
, and brew_cask_install
can be used in your
~/.workstation.local.sh
.
After you have made any customizations to ~/.workstation.local.sh, lets get setup. Run the following:
./workstation.sh
It should take less than 15 minutes to install (depends on your machine and internet connection).
This laptop script is inspired by thoughbot's laptop script.
thoughtbot's original work remains covered under an MIT License.
My work on this project is in the worldwide public domain, as are contributions to my project. As stated in CONTRIBUTING:
This project is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the CC0 1.0 Universal public domain dedication.
All contributions to this project will be released under the CC0 dedication. By submitting a pull request, you are agreeing to comply with this waiver of copyright interest.