Setting up ZSH on OS-X Catalina

ZSH, Theme and Plugins

Install Oh-my-ZSH, Powerline10k theme, and plugins

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" git clone https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel10k git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

Powerline Fonts

Install Nerd Fonts with Powerline and additional glyphs: https://github.com/ryanoasis/nerd-fonts/tree/master/patched-fonts

FiraMono Nerd Font. Direct Download

Details Page – https://github.com/ryanoasis/nerd-fonts/tree/master/patched-fonts/FiraCode

Simplest is to download the Font file, Open it and use the Install font option there. The Font sample windows shows the title that you need to use in VSCode Preferences

brew tap homebrew/cask-fonts brew cask install font-hack-nerd-font brew cask install font-fira-code brew cask install font-firamono-nerd-font-mono

Configure .zshrc

# If you come from bash you might have to change your $PATH. export PATH=$HOME/bin:/usr/local/bin:$(npm config get prefix)/bin:$PATH ZSH_THEME="powerlevel10k/powerlevel10k" plugins=(git zsh-syntax-highlighting zsh-autosuggestions) source $ZSH/oh-my-zsh.sh ############ POWERLEVEL THEME SETTINGS ############## POWERLEVEL9K_MODE='awesome-fontconfig' POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir vcs nvm) POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(disk_usage time) POWERLEVEL9K_PROMPT_ADD_NEWLINE=true POWERLEVEL9K_PROMPT_ON_NEWLINE=true POWERLEVEL9K_SHOW_RULER=true POWERLEVEL9K_RULER_CHAR='─' POWERLEVEL9K_RULER_BACKGROUND=none POWERLEVEL9K_RULER_FOREGROUND=237 POWERLEVEL9K_LEFT_SEGMENT_END_SEPARATOR= POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR= POWERLEVEL9K_LEFT_SUBSEGMENT_SEPARATOR=' ' POWERLEVEL9K_RIGHT_SEGMENT_END_SEPARATOR= POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR= POWERLEVEL9K_RIGHT_SUBSEGMENT_SEPARATOR= POWERLEVEL9K_WHITESPACE_BETWEEN_LEFT_SEGMENTS= POWERLEVEL9K_SHORTEN_DIR_LENGTH=2 POWERLEVEL9K_SHORTEN_STRATEGY="truncate_middle" POWERLEVEL9K_DIR_SHOW_WRITABLE=true POWERLEVEL9K_DISK_USAGE_NORMAL_BACKGROUND=none POWERLEVEL9K_DISK_USAGE_WARNING_BACKGROUND=magenta POWERLEVEL9K_DISK_USAGE_CRITICAL_BACKGROUND=red POWERLEVEL9K_TIME_BACKGROUND=none POWERLEVEL9K_TIME_FOREGROUND=white POWERLEVEL9K_DIR_HOME_BACKGROUND=none POWERLEVEL9K_DIR_HOME_SUBFOLDER_BACKGROUND=none POWERLEVEL9K_DIR_ETC_BACKGROUND=none POWERLEVEL9K_DIR_DEFAULT_BACKGROUND=none POWERLEVEL9K_DIR_NOT_WRITABLE_BACKGROUND=none POWERLEVEL9K_DIR_HOME_FOREGROUND=blue POWERLEVEL9K_DIR_HOME_SUBFOLDER_FOREGROUND=blue POWERLEVEL9K_DIR_ETC_FOREGROUND=blue POWERLEVEL9K_DIR_DEFAULT_FOREGROUND=blue POWERLEVEL9K_DIR_NOT_WRITABLE_FOREGROUND=red POWERLEVEL9K_OS_ICON_BACKGROUND="white" POWERLEVEL9K_OS_ICON_FOREGROUND="blue" POWERLEVEL9K_VCS_GIT_ICON='%fon %F{040}\uf1d3 ' POWERLEVEL9K_VCS_GIT_GITHUB_ICON='%fon %F{040}\uf09b ' POWERLEVEL9K_VCS_GIT_BITBUCKET_ICON='%fon %F{040}\uf171 ' POWERLEVEL9K_VCS_GIT_GIT_GITLAB_ICON='%fon %F{040}\uf296 ' POWERLEVEL9K_VCS_CLEAN_BACKGROUND=none POWERLEVEL9K_VCS_UNTRACKED_BACKGROUND=none POWERLEVEL9K_VCS_MODIFIED_BACKGROUND=none POWERLEVEL9K_VCS_LOADING_BACKGROUND=none POWERLEVEL9K_VCS_CLEAN_FOREGROUND="040" POWERLEVEL9K_VCS_UNTRACKED_FOREGROUND="red" POWERLEVEL9K_VCS_MODIFIED_FOREGROUND="yellow" POWERLEVEL9K_VCS_LOADING_FOREGROUND="grey" POWERLEVEL9K_VCS_UNTRACKED_ICON=$'%{\b?%}' POWERLEVEL9K_VCS_UNSTAGED_ICON=$'%{\b!%}' POWERLEVEL9K_VCS_STAGED_ICON=$'%{\b+%}' POWERLEVEL9K_DIR_NOT_WRITABLE_VISUAL_IDENTIFIER_COLOR=red POWERLEVEL9K_LOCK_ICON=$'\uf023' POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX='' local p='%F{ %(?.green.red)}${${${KEYMAP:-0}:#vicmd}:+❯}${${$((!${#${KEYMAP:-0}:#vicmd})):#0}:+❮}%f ' POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX="$p" POWERLEVEL9K_NVM_BACKGROUND=none POWERLEVEL9K_NVM_FOREGROUND=green POWERLEVEL9K_NODE_ICON='%fvia %F{green}⬢' ############ END- POWERLEVEL THEME SETTINGS ############## # workaround as per https://superuser.com/questions/1222867/zsh-completion-functions-broken FPATH=$HOME/.oh-my-zsh/plugins/git:$HOME/.oh-my-zsh/functions:$HOME/.oh-my-zsh/completions:/usr/share/zsh/site-functions:/usr/share/zsh/$ZSH_VERSION/functions export FPATH

Terminal Preferences

Set the Default Profile. Change font in the default profile: FiraMono Nerd Font. I have exported the current profile Here

VS Code Terminal Font Settings

VS code terminal requires Monospaced Fonts. Using regular versions of fonts will give error.

"terminal.integrated.fontFamily": "'FiraMono Nerd Font'", // ,'SauceCodePro Nerd Font Mono','Source Code Pro', "terminal.integrated.rightClickCopyPaste": true, "terminal.integrated.fontSize": 14, "terminal.integrated.cursorStyle": "underline", "terminal.integrated.cursorBlinking": true