Home

Awesome

logo

🎄 Gruvbox baby!

My variation of the gruvbox theme with full support for treesitter!

🤔 Why?

I wasn't comfortable with the gruvbox themes out there, either they didn't have good treesitter support or if they do, I didn't like their colors on python and javascript/typescript files.

📸 Pretty pictures

Font: Jetbrains Mono patched with nerd fonts

Terminal: wezterm https://github.com/wez/wezterm

🌙 Lua

lua-example

🐍 Python

python-example

⚛️ React with typescript

react-typescript-example

🔍 Telescope

inspired by https://github.com/NvChad/NvChad (You have to enable it via config variable) telescope-theme

⚙️ Installation

Plug 'luisiacc/gruvbox-baby', {'branch': 'main'}
...
colorscheme gruvbox-baby

🪛 Configuration

❗️ configuration needs to be set BEFORE loading the color scheme with colorscheme gruvbox-baby

OptionDefaultAvailable options
background_colormediummedium, dark
transparent_modefalsefalse, true - sets background colors to None
comment_styleitalicsee :h attr-list
keyword_styleitalicsee :h attr-list
string_stylenocombinesee :h attr-list
function_styleboldsee :h attr-list
variable_styleNONEsee :h attr-list
highlights{}override highlights with your custom highlights
color_overrides{}override color palette with your custom colors
use_original_palettefalseuse the original gruvbox palette
-- Example config in Lua
vim.g.gruvbox_baby_function_style = "NONE"
vim.g.gruvbox_baby_keyword_style = "italic"

-- Each highlight group must follow the structure:
-- ColorGroup = {fg = "foreground color", bg = "background_color", style = "some_style(:h attr-list)"}
-- See also :h highlight-guifg
-- Example:
vim.g.gruvbox_baby_highlights = {Normal = {fg = "#123123", bg = "NONE", style="underline"}}

-- Enable telescope theme
vim.g.gruvbox_baby_telescope_theme = 1

-- Enable transparent mode
vim.g.gruvbox_baby_transparent_mode = 1

-- Load the colorscheme
vim.cmd[[colorscheme gruvbox-baby]]

If you enable the telescope theme, I recommend using it with this borderchars config:

telescope.setup({
  defaults = {
    ...
    borderchars = {
      prompt = { "─", " ", " ", " ", "─", "─", " ", " " },
      results = { " " },
      preview = { " " },
    },
  }
})
" Example config in VimScript
let g:gruvbox_baby_function_style = "NONE"
let g:gruvbox_baby_keyword_style = "italic"

" Enable telescope theme
let g:gruvbox_baby_telescope_theme = 1

" Enable transparent mode
let g:gruvbox_baby_transparent_mode = 1

" Load the colorscheme
colorscheme gruvbox-baby

If you want access to the palette you have to do this:

local colors = require("gruvbox-baby.colors").config()
vim.g.gruvbox_baby_highlights = {Normal = {fg = colors.orange}}

🔌 Plugin support

enable Lualine

To enable gruvbox-baby theme for Lualine, simply specify it in your lualine settings:

require('lualine').setup {
    options = {
        -- ... your lualine config,
        theme = "gruvbox-baby",
        -- ... your lualine config,
    }
}

🌈 Palette

gruvbox-baby medium gruvbox-baby intensities

<details> <summary><h3>📋 Colors</h3></summary>
ColorCodeName
<img src="https://www.colorhexa.com/ebdbb2.png" width="32" height="32">#ebdbb2foreground
<img src="https://www.colorhexa.com/dedede.png" width="32" height="32">#dededegray
<img src="https://www.colorhexa.com/504945.png" width="32" height="32">#504945medium_gray
<img src="https://www.colorhexa.com/665c54.png" width="32" height="32">#665c54comment
<img src="https://www.colorhexa.com/e7d7ad.png" width="32" height="32">#e7d7admilk
<img src="https://www.colorhexa.com/cc241d.png" width="32" height="32">#cc241derror_red
<img src="https://www.colorhexa.com/fb4934.png" width="32" height="32">#fb4934red
<img src="https://www.colorhexa.com/d65d0e.png" width="32" height="32">#d65d0eorange
<img src="https://www.colorhexa.com/fabd2f.png" width="32" height="32">#fabd2fbright_yellow
<img src="https://www.colorhexa.com/eebd35.png" width="32" height="32">#eebd35soft_yellow
<img src="https://www.colorhexa.com/d4879c.png" width="32" height="32">#d4879cpink
<img src="https://www.colorhexa.com/b16286.png" width="32" height="32">#b16286magenta
<img src="https://www.colorhexa.com/98971a.png" width="32" height="32">#98971asoft_green
<img src="https://www.colorhexa.com/689d6a.png" width="32" height="32">#689d6aforest_green
<img src="https://www.colorhexa.com/8ec07c.png" width="32" height="32">#8ec07cclean_green
<img src="https://www.colorhexa.com/458588.png" width="32" height="32">#458588blue_gray
<img src="https://www.colorhexa.com/83a598.png" width="32" height="32">#83a598dark_gray
<img src="https://www.colorhexa.com/7fa2ac.png" width="32" height="32">#7fa2aclight_blue
</details> <details> <summary><h3>👶 Medium Intensity</h3></summary>

gruvbox-baby medium

ColorCodeName
<img src="https://www.colorhexa.com/0d0e0f.png" width="32" height="32">#0d0e0fdark0
<img src="https://www.colorhexa.com/202020.png" width="32" height="32">#202020dark
<img src="https://www.colorhexa.com/242424.png" width="32" height="32">#242424background_dark
<img src="https://www.colorhexa.com/282828.png" width="32" height="32">#282828background
<img src="https://www.colorhexa.com/32302f.png" width="32" height="32">#32302fbackground_light
</details> <details> <summary><h3>🎱 Dark Intensity</h3></summary>

gruvbox-baby dark

ColorCodeName
<img src="https://www.colorhexa.com/0d0e0f.png" width="32" height="32">#0d0e0fdark0
<img src="https://www.colorhexa.com/0d0e0f.png" width="32" height="32">#0d0e0fdark
<img src="https://www.colorhexa.com/171a1a.png" width="32" height="32">#171a1abackground_dark
<img src="https://www.colorhexa.com/1d2021.png" width="32" height="32">#1d2021background
<img src="https://www.colorhexa.com/32302f.png" width="32" height="32">#32302fbackground_light
</details> <details> <summary><h3>🍦 Soft Intensity</h3></summary>

gruvbox-baby soft

ColorCodeName
<img src="https://www.colorhexa.com/0d0e0f.png" width="32" height="32">#0d0e0fdark0
<img src="https://www.colorhexa.com/202020.png" width="32" height="32">#202020dark
<img src="https://www.colorhexa.com/282626.png" width="32" height="32">#282626background_dark
<img src="https://www.colorhexa.com/32302f.png" width="32" height="32">#32302fbackground
<img src="https://www.colorhexa.com/3c3a39.png" width="32" height="32">#3c3a39background_light
</details> <details> <summary><h3>🥿 Soft Flat Intensity</h3></summary>

gruvbox-baby soft flat

ColorCodeName
<img src="https://www.colorhexa.com/0d0e0f.png" width="32" height="32">#0d0e0fdark0
<img src="https://www.colorhexa.com/202020.png" width="32" height="32">#202020dark
<img src="https://www.colorhexa.com/32302f.png" width="32" height="32">#32302fbackground_dark
<img src="https://www.colorhexa.com/32302f.png" width="32" height="32">#32302fbackground
<img src="https://www.colorhexa.com/3c3a39.png" width="32" height="32">#3c3a39background_light
</details>

👽 Extras

add to Windows Terminal

To add the gruvbox-baby themes to Windows Terminal run,

extras/windows_terminal/add_themes_to_windows_terminal.py $PATH_TO_WINDOWS_TERMINAL_SETTINGS_JSON
# Windows Terminal settings.json can be found at
# %LOCALAPPDATA%/Packages/Microsoft.WindowsTerminal_8wekyb3d8bbwe/LocalState/settings.json

use with fzf

To use the fzf theme append the variable/string to your FZF_DEFAULT_OPTS variable

export FZF_DEFAULT_OPTS="${FZF_DEFAULT_OPTS} ${FZF_THEME}"
#To use the fzf theme the environment variables used have to be defined.
#You can use the tmux or bash file to export them to your environment

👆 Acknowledgments

Other themes I've made

The Matrix - https://github.com/luisiacc/the-matrix.nvim