Kali is using Zsh as the default shell since release 2020.4, so everybody had more than enough time to overcome their grief. During the time I’ve been using it, I found out some tricks, so, here’s my version of zsh + oh-my-zsh + spaceship + plugins.
First, I want to make sure I have some monospaced font with programming ligatures and I’ll be using FiraCode for that. You can use any other that suits your style.
If you’re not using it already, check if it’s installed with:
And then change the default shell to zsh:
chsh -s /bin/zsh
Oh My Zsh
Oh My Zsh will not make you a 10x developer…but you may feel like one!
To install Oh My Zsh, use this command (you must have
curl already installed):
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Spaceship is a minimalistic, powerful and extremely customizable Zsh prompt. To have it installed, just clone the repo and symlink the theme:
git clone https://github.com/denysdovhan/spaceship-prompt.git "$ZSH_CUSTOM/themes/spaceship-prompt" ln -s "$ZSH_CUSTOM/themes/spaceship-prompt/spaceship.zsh-theme" "$ZSH_CUSTOM/themes/spaceship.zsh-theme"
Now, edit your
~/.zshrc and change the variable
ZSH_THEME to look like this:
While still editing the
~/.zshrc file, change the prompt to something you want. In my case, I started using this config:
SPACESHIP_PROMPT_ORDER=( user # Username section dir # Current directory section host # Hostname section git # Git section (git_branch + git_status) hg # Mercurial section (hg_branch + hg_status) exec_time # Execution time line_sep # Line break vi_mode # Vi-mode indicator jobs # Background jobs indicator exit_code # Exit code section char # Prompt character ) SPACESHIP_USER_SHOW=always SPACESHIP_PROMPT_ADD_NEWLINE=false SPACESHIP_CHAR_SYMBOL="❯" SPACESHIP_CHAR_SUFFIX=" "
To manage the installation of the plugins, install the
sh -c "$(curl -fsSL https://raw.githubusercontent.com/zdharma-continuum/zinit/HEAD/scripts/install.sh)"
After this, edit your
~/.zshrc once more, now add the desired plugins right below the
### End of ZInit's installer chunk. Here I’m using these:
zinit light zdharma-continuum/fast-syntax-highlighting zinit light zsh-users/zsh-autosuggestions zinit light zsh-users/zsh-completions zinit light zsh-users/zsh-history-substring-search
zdharma/fast-syntax-highlighting: Adds syntax highlighting when writing commands, which makes it easier to recognize commands that have been typed incorrectly;
zsh-users/zsh-autosuggestions: Suggest commands based on execution history as you type;
zsh-users/zsh-completions: Adds thousands of completitions for common tools like Yarn, Homebrew, NVM, Node, etc, so you just need to press TAB to complete commands;
zsh-users/zsh-history-substring-search: This is a clean-room implementation of the Fish shell’s history search feature, where you can type in any part of any command from history and then press chosen keys, such as the UP and DOWN arrows, to cycle through matches.
Even if all these tweaks won’t make you a better computer user, they will certainly make you look like you know what you’re doing. Hope this helps you customize your terminals!