As I wrote some time ago, I recently migrated from linux to OSX. Since this OS was very new to me, it took me a while to figure out which applications were useful to me and which customisations added to my productivity. This article is a list for people new to OSX and want to hit the ground running. It is basically the article I would have liked to have found when I first migrated.
Frist off let me start with the applications I’ve found to be the most useful and then pass on to the productivity customisations I’ve attempted.
The apps that are absolutely essential to me are:
- Google Chrome, for the plugins, but Safari is a close second for the zoom function when double tapping.
- Spotify, for the ease of finding music and playing it anywhere with a Premium account.
- Skype, essential tele-comms.
- NetNewsWire, RSS reader, ad-supported.
- Arq, off-site (AWS) backups.
- Parallels, for some simulation programs for uni that only run on windows.
- SofaControl + Plex. The ideal media player setup.
- 1password + Dropbox: Always set up secure long passwords, access them from all the machines, and only remember one password.
- Air Video Server: Play any movie on the iPad, that’s stored on the iMac. All videos are streamed over WiFi.
- Caffeine + Flux: Two ways to control the luminosity of the screen. 50% Brightness and 3200K after dark is ideal for me.
- Evernote +MindNode: Notes and ideas.
- Handbrake + VLC: video conversion and playback.
- iBank: Finances’ handling
- Remoteless helper: To control Spotify on the iMac from the ipad.
- DaisyDisk: Disk Utilisation
- SpiderOak/Dropbox: File sharing. SpiderOak is much safer. You can use your own git server and the encryption keys stay with you not the company.
- SizeUp: Window position management
- TeamViewer: Fix my mom’s PC from a distance!
- LatTeXiT/TeXShop: LaTeX equation editor and editor with PDF preview.
- TweetDeck: Multiple account plus Unicode.
- Sophos Anti-virus: It is kind of a myth that Macs don’tneed antivirus.
- Seahorse/GIMP: Simple image manipulation.
A special mention to this list must be GeekTool with regards to customisation. This tool has allowed me to set up and show quite a few useful information on my desktop. You can see the screengrab below for an example.
This tool adds weather info, iCal appointments, TODOtxt list, date/time, and activity status all on the desktop. Quite easily customisable as well via scripts.
The other powerful feature that exists within OSX is of course the command line. It’s not a complete UNIX environment but with the help of Homebrew most of the UNIX tools can be compiled and installed easily.
brew install aspell --lang=en-GB
you get a spell-checker that is ideal for correcting LaTeX files:
aspell -c --mode tex filename
I install most brew recipes with:
brew install spark todo-txt agrep dos2unix fortune gawk git gnu-sed htop multitail psgrep rename sqlite ssh-copy-id wget
You can get more brewing! recipes here.
The rest of the work I do is on the command line. For this I use iTerm2 which has to be the terminal OSX should’ve had for a long time. Multiple tabs and easy customisation make it a treat to work with.
I use the Solarized color theme for both iTerm2 and ViM. You can find both here. I find it to be the most eye-pleasing theme and also the most legible. There is both a dark and light theme depending on your preference. With some scripting you could even have the light theme during the morning (with natural light) and switch to the dark theme at night.
I’m come back to ViM customisation, but not before I mention a really cool customization for the zsh. I’ve been using zsh for a while now (In greek only, sorry). I’ve spent some time trying to customise my Prompt to show relevant information but also look pleasant to the eye. I think oh-my-zsh achieves both and then more. Functions, autocompletes, aliases and ready made themes. You can see some screenshots of various themes here. You can install it quite easily like so:
wget --no-check-certificate <a href="https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh">https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh</a> -O - | sh
or by cloning the git repo:
git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
For me I’ve settled to the fino theme. You can see a screenshot below.
At the prompt, aside from user and hostname info, you also get PWD and the git brach and status of the directory you are.
As for the rest of the terminal configuration I want to mention the ViM customisations since I’ve already said some things on GNU Screen (Again apologies, this is in Greek. I will try and translate them into English if there’s any interest.).
My ViM config file emphasises on functionality. I like having line numbers visible at all times, and I’ve also deactivated the arrows navigation in order to force me to use the h,j,k,l navigation keys. I’m also using Pathogen in order to load modules like the TagList, TaskList, NERDTree, and the solarized color theme of course. You can see the end result below.
At the bottom of the screen what you’re seeing is the PowerLine plugin. A very nifty tool that provides immediate information about the file you’re editing. There’s also a visual cue whether you’re in (n)ormal mode or (i)nsert mode.
I’m also in the process of turning my ViM setup into a complete Python IDE, but unfortunately I’m having som estrange issues compiling ViM from source on OSX with python support. Any thoughts as to how I can do this? I have followed advice so far from these really good sources for this setup.
The only other aspect I wanted to have was a way to sync these rc config files between my iMac and my MBP. I wanted the customisations made on one machine to be automatically reflected on the other. The way I did this, although you could do the same with Dropbox [disclaimer: this is a referral link, you can open a new browsing tab and just type the URL], is via iCloud.
I saw somewhere online that if two Macs are syncing to the same iCloud account, as mine are, then the directory ~/Library/Mobile Documents/ is automatically synced between the machines with the same account. so what I did is placed all my rcfiles and .vim directory in that location and soft linked to them from home, e.g.:
UPDATE: It appears the above method is not very reliable. Having done this to sync the iMac with the MacBook, without any warning (which is reasonable since this isn’t really mainstream use of the location), the contents of the Mobile Documents directory were erased. Therefore I have reverted to the same setup as below, with symlinks, but via my Dropbox path. I am in the process of setting up a SparkleShare server, but that’s a different post at a later time.
This will create a link to the sync’ed version of vimrc which can be accessed by your local ViM installation.
I hope you’ve found this article useful in some way. Let me know in the comments if you have a cool/useful customisation you’ve done that you’d like to share.
As usual you can find all the config files used for this setup in my GitHub repo. Fork away!
P.S. I should also mention that the font seen in these screengrabs is the Open Font – Anonymous Pro. You can get it here.