Table of contents

My pale gruvbox variation

Here you can find my own gruvbox colorscheme variation. It’s a fork of gruvbox-flat.nvim, which is a fork of onedark.nvim. It gave me a good starting point in creating my own colorscheme with full TreeSitter support and fallback regex-based syntax highlighting in neovim.

gruvbox-pale

Why this exists

It’s a really dumb story.
I started using vim/neovim in mid-to-late 2019. It was annoying and cumbersome to relearn all “normal” editor keybindings like CTRL-a, CTRL-s and much more and replace them with this weird arcane “modal” system that my brain had to get used to. But I stuck to it. A big part of me sticking to it was my colorscheme of choice: gruvbox. It really felt like I found the perfect colorscheme, everything looked great and even if I was not having fun learning how to vim, at least I got to look at some pretty colors while I was struggling.

What I didn’t know at the time, was that I configured my vim wrong and by extension, configured gruvbox wrong. Yes the default colors were gone and it looked much better, but what I ended up using for 3-4 years wasn’t the normal gruvbox everyone else is used to. I got the “broken” version because I did not set a variable in my .vimrc:

set termguicolors

After I realized my mistake, it was already too late. My eyes got way too used to this broken version of gruvbox that I thought the original version looked very out of place. That caused a lot of pain and wasted time when I tried to rice my dotfiles, and every time I tried applying a pre-made gruvbox config, everything felt out of place and I had to look up my colors with xcolor and apply them myself.

I got tired of this weird process of taking gruvbox themes, “fixing” them and saving that configuration somewhere. That’s why I decided that it’s finally time to create my own colorscheme theme for neovim and more configurations are planned. Unlike the old gruvbox plugin for vim, mine and all the previous forks support TreeSitter syntax highlighting which all the cool new kids use these days (and for good reason).

Lualine theme

normal-mode insert-mode visual-mode

Before I made the plugin for the whole colorscheme, I made a smaller plugin that’s a theme for lualine. It’s a port of the (again) broken version of an older status line plugin called lightline, where gruvbox set it’s own colorscheme. Since I got used to that bar looking a certain way, I kept the “broken” colors and ported it to the newer and more performant lua-based lualine.

command-mode replace-mode

Some more example photos:

Using Fzf-lua plugin for nvim: fzf-lua

How a golang file looks: golang