Here are some of the improvements I use to make my terminal experience better on my macbook. Most of these should also work on Linux.

Oh My ZSH

Because I use Z shell as my default shell, I am able to use Oh my Zsh which is absolutely amazing.

This unlocks the ability to use plugins and themes which greatly improve the experience. One theme I really like is Dracula which can be used as the theme for both oh my zsh and for terminal.

Plugins

Unless otherwise indicated these plugins are installed with oh my zsh and just have to be enabled by adding them to ~/.zshrc

Homebrew

This one should be a little obvious but having brew installed makes the commandline experience much better.

Formulae can be found here. /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Applications

Here is a non-exhaustive list of applications that are good to install.

  • Cask: allows you to install applications with brew that have a GUI
    • brew install cask
  • Docker: Install a docker server on your local machine.
    • brew cask install docker
  • Git
    • brew install git
  • AWS CLI: Allows you to interact with AWS using the terminal
    • brew install awscli
  • Visual Studio Code: One of the best lightweight text editors
    • brew install --cask visual-studio-code
  • Speed Test: allows an internet speed test to be performed in terminal.
  • Tmux: a terminal multiplexer which is very useful for having multiple terminal windows.

Github

I have recently starting using Github over ssh instead of over https like I used to. This switch was mostly caused by Github forcing Personal access tokens to be used for communication over https, but I am really starting to like using ssh instead. It takes a little more work to set up in the beginning because you have to configure each computer to have its own ssh keys but as long as you keep your computer secure it seems like a great solution.

Also, I have started signing all of my commits with a GPG key. For the type of stuff I am doing on my personal account it is for sure overkill, but it is useful to get into the habit for working in a professional environment.