DEV Community

Cover image for kitty + zsh + powerlevel10k = ✨ aesthetics ✨
protium
protium

Posted on • Edited on

kitty + zsh + powerlevel10k = ✨ aesthetics ✨

Who doesn't like a good looking terminal and useful layouts and keymaps?
This has always been my goal since I started using linux as main OS.

I have used lots of different terminals, plugins and settings over the years but I think now
I achieved the glory with my current setup:

setup

Let's have a look to the configuration.

What do I use?

Configuration

Terminal

To achieve a clean look in the terminal, I changed the opacity of kitty, removed the window title bar,
and changed margins. Here the configuration needed:

 background_opacity 0.76 draw_minimal_borders yes window_padding_width 2 window_border_width 0 hide_window_decorations yes titlebar-only yes active_border_color none 
Enter fullscreen mode Exit fullscreen mode

I have also added changes for the tabs bar in order to make it look minimalist:

 tab_bar_edge top tab_bar_background none tab_bar_style powerline tab_powerline_style slanted tab_title_template "{fmt.fg.c2c2c2}{title}" active_tab_title_template "{fmt.fg._fff}{title}" active_tab_foreground #fff active_tab_font_style bold-italic active_tab_background #8631B4 inactive_tab_foreground #c2c2c2 inactive_tab_background #8631B4 
Enter fullscreen mode Exit fullscreen mode

In order to move quick between splits I added the following mappings:

 map cmd+shift+up neighboring_window up map cmd+shift+left neighboring_window left map cmd+shift+right neighboring_window right map cmd+shift+down neighboring_window down 
Enter fullscreen mode Exit fullscreen mode

powerlevel10k

There is not much to mention here since I have used the powerlevel10k script to configure it.
Once you install powerlevel10k it should init the configuration wizard. If you want to re-configure
do so by running p10k configure in your terminal.

You can check my powerlevel10k config file here.

neovim

Plugins:

In this case, I got rid of many highlights background colors

 highlight LineNr ctermbg=none highlight Normal ctermbg=none highlight NonText ctermbg=none highlight SignColumn ctermbg=none highlight VertSplit ctermbg=none ctermfg=98 cterm=none 
Enter fullscreen mode Exit fullscreen mode

I have also setup a color column to show a visual limit at 100 chars

 set colorcolumn=100 highlight ColorColumn ctermbg=93 
Enter fullscreen mode Exit fullscreen mode

My vim-airline config goes like this:

 let g:airline_theme='selenized_bw' " Show git branch let g:airline#extensions#branch#enabled=1 let g:airline#extensions#hunks#enabled=0 let g:airline_powerline_fonts=1 let g:airline_detect_spell=0 " Short version for modes let g:airline_mode_map = { \ '__' : '-', \ 'c' : 'C', \ 'i' : 'I', \ 'ic' : 'I', \ 'ix' : 'I', \ 'n' : 'N', \ 'multi' : 'M', \ 'ni' : 'N', \ 'no' : 'N', \ 'R' : 'R', \ 'Rv' : 'R', \ 's' : 'S', \ 'S' : 'S', \ '' : 'S', \ 't' : 'T', \ 'v' : 'V', \ 'V' : 'V', \ '' : 'V', \ } 
Enter fullscreen mode Exit fullscreen mode

That's it! The setup is fairly simple and the results are quite good.

You can have a look at all my config and dotfiles in here.

PS: this article has its source on github.
I'm using a github action to publish it to different platforms. Read more
here

Related articles:

👽

Top comments (1)

Collapse
 
sso profile image
Sall

NIce, but maybe to old?

Some freedom to your shell: z.digitalclouds.dev/ 🧙‍‍ ⚡
🧙‍ Why use powerfull Zsh with simple snippets? ✨
Let's glue everything together to create a toolchain that works for US 🚀.