Iterm Brew


In general, I don’t use my Mac’s Terminal app. Instead, I use iTem2 with a special configuration, that doesn’t use Bash, but Oh My Zsh as a shell, that is a framework to manage Zsh configuration as your shell. This framework allows you to install plugins or configure your prompt, among other cool things. I’ve also configured iTerm2 to work with a patched Monaco1 font with the complete. Run - brew cask reinstall - to resinstall the cask.' Slack) brewinstall slack;; Docker) brewinstall docker;; iTerm) brewinstall iterm2;; Google Chrome) brewinstall google-chrome;; IntelliJ Idea) brewinstall intellij-idea;; Sourcetree) brewinstall sourcetree. ITerm2 is a replacement for Terminal and the successor to iTerm. It works on Macs with macOS 10.14 or newer. ITerm2 brings the terminal into the modern age with features you never knew you always wanted. Why Do I Want It? Check out the impressive features and screenshots. If you spend a lot of time in a terminal, then you'll appreciate all the little things that add up to a lot. I am trying to install iTerm2 terminal emulator on macOS Sierra 10.12.1 using Homebrew. I tried to download iTerm2 from its main site. However, the page is taking too long to respond. So, after searching the internet for alternates, I found and ran this command: brew cask install iterm2.

Setting Mac Terminal environment for Development

Unix shell and Framework installation

Between iTerm and Hyper, iTerm is preferred here. Download and install iTerm

Instead of using the Mac default Bash shell, preferred here is zsh with multiple plugin support.

  • Install latest version of zsh using brew and verify the version.
  • Make zsh as system’s default shell
  • Verify:
  • Install oh-my-zsh using this link

Install Powerline 10k

Run either


Edit ~/.zshrc and set ZSH_THEME=”powerlevel10k/powerlevel10k”.

Install plugins

Global settings:`/etc/profile/etc/bashrc`

Personal settings:`~/.bash_profile OR ~/.bash_login OR ~/.profile~/.bashrc~/.bash_aliases`

.bash_profile -> login shell.bashrc -> non-login shell.

When you start a sub-shell (by typing a shell’s name at the command-prompt), you get a “non-login shell”.

When a “login shell” starts up, it reads the file“/etc/profile” andthen “~/.bash_profile” or “~/.bash_login” or “~/.profile”(whichever one exists - it only reads one of these, checking for them in the order mentioned).

Iterm Brew

When a “non-login shell” starts up, it reads the file “/etc/bashrc” and then the file “~/.bashrc”.

Brew Install Iterm

#Semlink the files to be consistent with further editsAssuming the project is cloned in $HOME/Programming folder on a new mac

The following commands will symlink the files and be modified for later use on other macs

  • $PATH variable, a list directory names separated by colon (:) characters
  • The superuser has /sbinand /usr/sbin entries for easily executing system administration commands.

Sky go succession tv. #OS X: Change your PATH environment variable

Setting Temporary Environmental Variables in OS X

export PATH=$PATH:~/bin

Adding a Temporary Location


Iterm Brew

Adding in a Permanent Location

create a .bash_profile or .profile file in the home directory and set the path in the files export PATH='/usr/local/<my_package>/bin:$PATH'


So, out of boredom, I decided to upgrade my shell and terminal to something closer to 2017, instead of living in the early 90s. Clearly I’e been using bash all these years - mostly on Ubuntu and lately on OSX. But I’ve always been lazy and complacent with the terminal. I’ve always wanted to set up fish - Friendly Interactive SHell. for it’s git integration, and very rich interaction. Sure, all of this can be done on bash or zsh but I hate configuration, and combing hundreds of git repos for bashfiles and find what works for me.

While at fish, I also decided to upgrade the default Mac terminal to iTerm2. This led me to a journey through installing fonts all the way to picking up the theme that works for me. But again, no configuration to mess with.

Installing fish

Since I have brew, I was able to simply do this

If you do not have brew, head over to for instructions on setting it up. They have MacPorts, Installer, and an executable.

Once installed, the default theme supports git repositories, in that, the prompt indicates the local repository state, has nice syntax highlighting on the command line, and typical things you’d expect from the shell of the 21st century.

You can see the prompt change, as well as a timestamp show up to the right of the window.

If you wish to make fish your default shell, add add /usr/local/bin/fish at the very top of /etc/shells, and execute chsh -s /usr/local/bin/fish. If not, then you can always type fish in bash.

Installing omf


Given the richness of fish with themes and plugins, it’s best to use omf - Oh My Fish, which is more or less a package manager for fish.

To install omf -

Iterm Brew Not Found

Once omf is installed, checking out themes etc. becomes a breeze. To do so, type omf on the prompt to see the options. Typing omf theme will show a big list, and in order to see what these themes look like, head over here to preview them.

I liked bobthefish, and installed it like so -

You can always switch back to default by typing omf theme default. You can install many themes and switch back and forth between them till you’re comfortable with one of them.

However, this theme (and many others) uses fonts that would need to be installed.

Installing Powerline Patched Fonts

Feel free to remove the fonts directory.

Installing iTerm2

Downloaded and installed iTerm2, which is super simple to do.

Take a look at the Font Book, and pick the powerline font of your choice. I like Ubuntu Mono. You can type powerline in the little search textbox in Font Book to shorten the list. Once picked, set the font here -

Iterm Brew

Restart iTerm2, and you should be all set!

Github integration

This image shows how the prompt changes as we make simple changes to a local git repo. I am using bobthefish theme. See the theme details on how the prompt indicates various states like locally committed but un-pushed changes, etc.

As you can see, it is super helpful, with no configuration to get this going. This to me is one of the most useful and powerful features of fish.

Now that you have fish and omf set up, play with the many options and if you have never used it before, you’ll be surprised how modern and developer friendly this set up is. The depth of autocomplete going beyond just file names, auto-suggestion, history navigation, and syntax coloring makes working on the terminal so much productive and painless!