As programmers we typically spend a lot of time interacting with some kind of shell through a terminal (emulator) application. For obvious reasons a good terminal setup improves productivity and reduces stress. Typically, installing and configuring terminal and shell is one of the first things I do when setting up a new computer. Here is how to create a terminal experience that is clean, fast, and interactive with ZSH, Oh My ZSH, and Starship.rs.