DEV Community

loading...

Best Terminal Setup - Terminator + ZSH + Powerlevel10k

Lukas Lukac
I train devs how to program full-stack blockchain apps on Ethereum with {Go, JS, Smart Contracts, IPFS}. StackOverflowing for 10+ years
・2 min read

I tried a new Linux (Ubuntu) terminal setup and it's a blast. I want to share it with you.

What will you setup?

  • Terminator terminal to support splitting the terminal screen vertically and horizontally into multiple windows. Extremely useful when working with distributed systems like blockchain.
  • ZSH framework to add productivity plugins and custom color themes.
  • Powerlevel10k for "speed, flexibility and out-of-the-box experience."

Alt Text

Install the Terminator

sudo apt-get install terminator
Enter fullscreen mode Exit fullscreen mode

Open it.
Alt Text

Install ZSH

sudo apt install zsh
Enter fullscreen mode Exit fullscreen mode

And make it your default shell:

chsh -s $(which zsh)
Enter fullscreen mode Exit fullscreen mode

Or checkout the official ZSH Github repo and choose your favorite installation process.

PowerLevel10k Theme

The great thing about ZSH is the level of personalization possible. I found this theme which looks pretty solid: https://github.com/romkatv/powerlevel10k#meslo-nerd-font-patched-for-powerlevel10k

Install the theme

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k

echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >>! ~/.zshrc

source ~/.zshrc
Enter fullscreen mode Exit fullscreen mode

Ready for the cool part? The theme comes with an interactive guide for setting everything as you wish, "to your gusto".

Configure a custom font [optional]

In case you have a weakness for a specific font, you can install it and configure it according to the PowerLevel10k's fonts instructions.

Configure colors, spaces, features

P10k configure

p10k configure
Enter fullscreen mode Exit fullscreen mode

Enable battery plugin

The last personalization I did so far, was enabling the battery status inside the terminal screen.

You can do so by opening the vim $HOME/.p10k.zsh file and uncommenting this line:
Alt Text

You are done!

The theme even includes the time the last command took:
Alt Text

Let me know on Twitter if you like this setup!

Discussion (4)

Collapse
crs1138 profile image
Honza

I'm having troubles with the Meslo Nerd font in Terminator. It's fine in the Terminal, but does not work in Terminator. I have set the custom font to Meslo Nerd Regular in the preferences. But nothing. Any ideas?

Collapse
crs1138 profile image
Honza

Sorted, I was setting title bar font… new piece of software and rushing = chaos :)

Collapse
kenjc55 profile image
kenjc55 • Edited

This does not work with zsh 5.8 - is-at-least: function definition file not found

if you bypass this error you still get vcs_info: function definition file not found

Collapse
romkatv profile image
Roman Perepelitsa

It works with any correctly installed zsh >= 5.1.

Both is-at-least and vcs_info are included in zsh. If you get an error saying these functions are missing, it means that either you have a corrupted installation of zsh or you've manually removed standard zsh directories from fpath. The latter is similar to removing /bin from PATH -- the result is a broken system.