DEV Community

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

Posted on • Edited on

34 5

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:

👽

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

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 🚀.

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay