Over the past couple of weeks, I've set up a few Mac OS X machines to do development of iOS and Android apps. Doing this used to be an all-day chore, but things like app stores, iCloud, and Dropbox have streamlined the process a lot.
(I could streamline the process even more by cloning an existing drive or virtual machine, but I'd rather install everything from scratch to avoid the presence of old cruft.)
As a reminder to myself, and to help out anyone else who needs to do this, here is my procedure for setting up an OS X machine the way I like it:
- Install/re-install OS X.
- During the OS X setup process, use the same login account name and password that I use on other computers, and provide the Apple IDs for iCloud and iTunes (which are different, in my case).
- Open System Preferences and do the following:
- In the General panel, set Sidebar icon size to Small and Show scroll bars to Always.
- In the Mission Control panel, uncheck the Automatically rearrange Spaces based on most recent use box.
- In the Mouse and Trackpad panels, set all speeds to two ticks less than the maximums, and enable all the gestures.
- In the Keyboard panel, set Key Repeat and Delay Until Repeat all the way to the right, and check the Use F1, F2, etc. keys as standard function keys box
- In the Keyboard panel, go to the Shortcuts tab, select Services, and then enable the New Terminal at Folder service.
- In the iCloud panel, enable everything.
- In the Sharing panel, set the Computer Name to something unique (not "Kristopher's computer") and enable Remote Management, Remote Login, and File Sharing.
- Set up Time Machine
- If this is a virtual machine, go to the Desktop & Screen Saver panel and turn off the screen saver, and go to the Energy Saver panel and set the sleep sliders to Never.
- Use the Software Update... menu item to install any system updates that are available, and reboot if necessary.
- If this is a virtual machine, install VMWare Tools or Parallels Tools.
- Download and install these packages (using serial numbers and licenses stored in 1Password):
- Dropbox (and wait for everything to sync before continuing)
- 1Password
- TextExpander
- Keyboard Maestro
- Chrome
- nvALT
- Sublime Text
- AppCode
- SourceTree
- OmniOutliner
- OmniPresence
- MultiMarkdown
- Markdown Service Tools (copy the
.workflow
files to~/Library/Services
) - MacTeX
- Pandoc
- OpenOffice and/or LibreOffice (depending on mood)
- Source Code Pro font
- Deja Vu fonts
- Inconsolata-g font
- Input font
- CrashPlan
- Bartender
- Hazel
- Kaleidoscope
- µTorrent
- XQuartz
- FreeMind
- Open the App Store app and install these applications (skipping any that are not needed):
- Xcode
- CodeRunner
- OS X Server
- Moom
- PopClip
- Alfred
- Pages
- Soulver
- Evernote
- Sketch
- Skitch
- Pixelmator
- MultiMarkdown Composer
- Open Xcode, accept the license agreement and download simulators and documentation. On a Terminal command line, execute
xcode-select --install
to install the command-line tools. - Install Homebrew
- Open the Terminal application and run
java
. Download and install the JDK when prompted. - Download and install the ADT Bundle. (Note: This is old; now Android Studio is the thing to download and install.)
- After installation, launch the Eclipse application. Choose the Android SDK Manager menu item, and install/update everything in these subtrees:
- Tools
- Android 4.3 (or whatever the newest API level is)
- Extras
- Choose Help > Install New Software.... Click the Add... button. Add this repository and install the Eclipse Color Theme plugin:
- Name: Eclipse Color Theme Update Site
- Location:
http://eclipse-color-theme.github.io/update/
- Download and install latest the HAXM driver from https://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager. (If that link is broken, go to https://software.intel.com/en-us/android/ and look for a HAXM download link.)
- Set up
~/.bashrc
to run my shared scripts that are in~/Dropbox/bin
. - Execute this in Terminal:
chflags nohidden ~/Library
- Set up ssh keys for Bitbucket and GitHub.
Then to verify everything is ready to go, I use Git to grab the source code for an iOS app, and build it and run it, and then do the same for an Android app.
(For my Windows setup, see Setting Up Windows, My Way.)