Terminal Setup Part 1

Customizing your terminal is one of the ways you can express yourself while also keeping yourself informed with current project, context, or git information on the screen. I use Oh My Zsh with a collection of plugins and a small update to the agnoster theme. For me, I’m primarily in Docker, Kubernetes, Gcloud, and working in Shell and Python (3.7) in MacOS.

This Guide is angled towards Mac users, I’m sure similar steps can be taken on a linux OS. (I’ve done most of this setup on lubuntu, so it is possible.)

Terminal

Tools/Resources Used

Homebrew Setup

Homebrew is your bread and butter unofficial package manager for MacOS. Go here to download and set it up. Once you have it set up you should be able to install many common development tools in brew, just as you would in a linux system with apt, yum, or apk.

Powerline Fonts

Go to the Powerline Fonts git repository and give it a clone with git clone https://github.com/powerline/fonts.git.

Once you have it cloned, run the install script inside of the repository.

iTerm2 Setup

The iTerm2 Setup is quite simple, it’s just a color scheme change, a font change, and some status bars.

Colors

For the color scheme, use Solarized Dark. It’s easy on the eyes and not hard to read.
iTerm2 Colors

Font

For the fonts, Set a font to one of the Powerline fonts that was installed.
iTerm2 Fonts

Status Bar

For the Status Bars, enable it and arrange your choice of widgets to display.
iTerm2 Fonts

Once enabled, pick the widgets you want to show

Oh My Zsh Setup

Check out this to install Oh My Zsh. Say yes to the installation prompts.

Note: If you install OMZSH after you have the Gcloud SDK installed you will have to add back the following lines to your ~/.zshrc file:

1
2
source '/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.zsh.inc'
source '/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/completion.zsh.inc'

Once you have it installed you now have the choice of choosing a OMZSH theme. I went with the agnoster theme and the following plugins.

1
2
3
4
5
6
7
8
9
10
11
plugins=(
git
zsh-syntax-highlighting
zsh-autosuggestions
zsh-apple-touchbar
kubectl
osx
docker
gcloud
terraform
)