Saturday, November 08, 2014

It's been a few OSX updates since I wrote my guide for 10.5 and about half of it changed. Here's updated list of steps necessary to turn fresh OSX 10.10 into a sensible machine for creating software.

The guide below is based upon my preference, so details will vary for you, but a lot of Apple's default settings are uncontroversially horrible, so you're probably better off starting with a guide like this than trying to figure out where are all the options yourself.

Clean up all crap from dock. Other than Launchpad and System Settings, everything else should be gone. Add iTerm2, your browser, and your text editor, and any application you wish to install there instead of stock Apple crap.

It's also a good idea to disable Spotlight as soon as possible by running sudo mdutil -i off / - before it tries to index all of your dropbox and generally ruin performance of your machine.

Development tools

First, you'll need Xcode, which annoyingly requires App Store login these days. Then select "Command Line Tools (OS X 10.10) for Xcode" package or run xcode-select --install from command line to do so.

Now it's time for a package manager. They're all somewhat disappointing if you're used to apt-get. homebrew seems somewhat more popular than others these days, so you might just as well try that.

Then enable all services you installed, unless you want to start them manually:

ln -sfv /usr/local/opt/*/*.plist ~/Library/LaunchAgents/

And install non-system ruby, so you can install gems without sudo:

rbenv install 2.2.0-devrbenv global 2.2.0-dev

Due to OSX limitations you'll need to make htop suid if you don't want to use it with sudo every time. Instructions for that will be printed during installation or you can get them with brew info htop.

Sane bash and coreutils

bash version shipped with OSX is ancient and BSD utilities are all awful. In previous steps you installed proper versions, now you need to tell the system to use it.

Add homebrew version of bash as allowed shell by appending /usr/local/bin/bash at end of /etc/shells

Enjoy

Once you go through this list, and successfully get everything going, I'd recommend modifying it to your liking and reposting your version on your blog. Everybody's needs are different, so guide like this is just a starting point.

1 comment:

It is a well known fact that Java as a programming language set off a new paradigm in the software industry. Suddenly, every software programmer worth his salt was amidst software jargons like 'Platform-Independence', 'Cross-Platform-Deployment' and 'The Java Virtual Machine'.java

My software

Creative Commons

Unless otherwise expressly stated, all original material of whatever nature created by Tomasz Węgrzanowski and included in this blog, is licensed under a Creative Commons License. It is also licensed under GFDL (for Wikipedia compatibility).