Beautify your iTerm2 and prompt đź’‹
Inspired by Hyper and hyper-snazzy theme.
As color themes come and go like fashion and you’re looking for ways optimise your terminal workflow; Tweaking your terminal is like the developer version of a Sunday Car Mechanic mixed with a Fashionado.
After spending way too many hours tweaking my terminal, I ended up with a minimalistic look. This is a screenshot of iTerm2 I’m currently using:
This theme is perfect for creating beautiful screenshots. If you like the clean look in iTerm2, read on and configure it in a couple of minutes. (Hopefully saving you hours researching on how to achieve this)
Prerequisites
Beautify iTerm2
Install iTerm2 with brew:
brew install --cask iterm2
Getting rid of the ugly title bar đź’©
iTerm2 Preferences: Appearance > General > Theme: Minimal
You can make the tab outline less prominent with:
iTerm2 Preferences: Advanced
Install iTerm2 — Snazzy theme
(curl -Ls https://raw.githubusercontent.com/sindresorhus/iterm2-snazzy/main/Snazzy.itermcolors > /tmp/Snazzy.itermcolors && open /tmp/Snazzy.itermcolors)
Configure iTerm2 color theme:
iTerm2 Preferences: Profiles > Colors > Color Presets: Snazzy
If you don’t like this theme, you can probably find your favourite theme here: https://iterm2colorschemes.com
Minimalistic prompt with “pure”
The following pure installation and zsh configuration is done with zplug. Please read pure’s README for other ways to install and customise it to your needs.
Install Oh My Zsh and zplug
# Oh My Zsh
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"# zplug
brew install zplug
Configure ~.zshrc
# ~.zshrcexport ZSH=~/.oh-my-zsh# disable oh-my-zsh themes for pure prompt
ZSH_THEME=""source $ZSH/oh-my-zsh.shexport ZPLUG_HOME=/usr/local/opt/zplug
source $ZPLUG_HOME/init.zshzplug "mafredri/zsh-async", from:github
zplug "sindresorhus/pure", use:pure.zsh, from:github, as:themezplug load# Install plugins if there are plugins that have not been installed
if ! zplug check --verbose; then
printf "Install? [y/N]: "
if read -q; then
echo; zplug install
fi
fi
Reload zsh with the new configuration: source ~/.zshrc
After reloading you should see “pure” prompt:
Bonus
With the following two plugins the experience in shell will be enhanced greatly.
syntax highlighting
Get syntax highlighting in zsh with fast-syntax-highlighting.
zplug "zdharma/fast-syntax-highlighting", as:plugin, defer:2
auto suggestions
Get suggestions and completion based on your history with zsh-autosuggestions.
In the previous screenshot you can see zsh --version
being suggested while typing.
zplug "zsh-users/zsh-autosuggestions", as:plugin, defer:2
.dotfiles
If you’re wondering what other customisations I’m using; check my .dotfiles at https://github.com/chimurai/dotfiles.
Resources
- https://brew.sh
- https://ohmyz.sh
- https://iterm2.com
- https://github.com/sindresorhus/iterm2-snazzy
- https://github.com/zplug/zplug (zsh plugin manager)
- https://github.com/sindresorhus/pure
- https://github.com/zsh-users/zsh-autosuggestions
- https://github.com/zdharma/fast-syntax-highlighting
- https://github.com/chimurai/dotfiles
- https://gitlab.com/gnachman/iterm2/-/issues/4080
- https://hyper.is
- https://github.com/sindresorhus/hyper-snazzy
- https://github.com/wulkano/Kap (Screen recording)