Customizing the OS X Terminal

Adam Jarvis
3 min readMar 27, 2016

--

I’m noticing more and more these days that the majority of my work happens within the terminal. Navigation through my project folders is much easier using ZSH plugins such as Z and autocomplete, and more recently I’ve had sass watch and a Ghost web server running on localhost while building Jarv.ski.

To cut a long story short — I love my terminal. So why not make it mine?

The Basics

Firstly, we need to scrap the Terminal for iTerm 2. You can find many of themes available for iTerm 2. I personally use Honukai.

You can find the feature list for iTerm 2 here

Next we need to replace our bash shell with ZSH. From the github repo read-me: Oh My Zsh is a way of life!

Once again, feature list in the form of plugins for ZSH can be found here

Now we have a solid foundation.

Startup Script

So, you want to have a unique startup to your terminal? You came to the right place.

I always had an motd on my terminal, but it never went more than simply ‘Welcome Adam’. After spicing up my terminal, I knew it was time to become creative. So I did research.

The fruits of my labour was the following:

  • Cowsay
  • Fortune
  • Lolcat
  • Artii

Cowsay

This is how we create the moose with the speech bubble. To install cowsay, simply:

brew install cowsay

The arguments allow us to change the output greatly, for example I use it to change the output from the default cow to a vader cow via:

cowsay -f vader

Fortune

Random quotes every time. What could be better? Fortune is an old program dating back to the original days of Unix. To install:

brew install fortune

Pipe this into cowsay, and you start to get close to my own terminal output:

Fortune | cowsay -f vader

Lolcat

Random, but fun.

gem install lolcat

This makes our text output very… colorful.

Fortune | cowsay -f vader | lolcat

Artii

Finally, Artii. This creates large ascii style text from what text we enter into the program. Install via:

gem install artii

We can create text within the terminal via:

artii “Hello world!”

Putting it altogether

We now need to get this into our motd, but we first need to make our motd a script instead of just a .txt file that our terminal outputs on login.

sudo mv /etc/motd /etc/motd.sh

Next we add the script to the end of our .zshrc file so that it runs at login.

An example motd.sh would be:

artii "Welcome" | lolcat fortune | cowsay

In Closing

I hope you found this guide useful. Feel free to tweet me with any questions you have or simply to show me what you came up with!

Originally published at jarv.ski on March 27, 2016.

--

--