timmypidashev 822ee3ad68 feat: blink.cmp highlight groups; fix: flatten Pmenu/Sign/StatusLine bg to Normal
- Add BlinkCmp* highlights (Menu, Border, Doc, Signature, Label*, Kind*)
    mirroring CmpItemKind conventions so blink.cmp users get themed UI without
    any plugin-side wiring.
  - Add FloatBorder and FloatTitle defaults (dim border on Normal bg) so LSP
    hovers, completion docs, and diagnostic floats inherit consistent styling.
  - Pmenu, PmenuSel, PmenuSbar, PmenuThumb: drop background_2 fill; sit on
    background so popups blend with the editor canvas instead of showing a
    gray block.
  - Darkbox*Sign groups: remove background_1 gutter strip; diagnostic, Coc,
    and dap signs now render as plain colored glyphs on the editor bg.
  - StatusLine / StatusLineNC: use foreground on background instead of the
    reversed background_2/foreground_1 pair — no more gray status bar.
2026-04-16 01:14:27 -07:00
2025-02-03 13:38:01 -08:00
2026-04-15 17:50:59 +00:00
2025-02-03 12:32:07 -08:00
2024-12-19 10:40:05 -08:00
2025-02-03 11:49:27 -08:00
2026-04-15 10:50:33 -07:00

Darkbox Theme Preview

🎨 Darkbox.nvim

A pure-black refresh of the retro-groove aesthetic for modern displays. Darkbox brings the classic groove style into the modern era with a focus on OLED-friendly pure blacks and carefully selected contrasts.

Features

  • Pure black (#000000) background optimized for OLED displays
  • Retro-groove inspired color palette with modern refinements
  • Built-in support for tree-sitter

📸 Screenshots

Classic

Screenshot

Retro

Screenshot

Dim

Screenshot

🚀 Installation

Using vim.pack (Neovim 0.12+)

The built-in package manager. Recommended.

vim.pack.add({
  { src = "https://github.com/timmypidashev/darkbox.nvim" },
})

require("darkbox").setup({
  contrast = "retro",
})
vim.cmd.colorscheme("darkbox")

Using lazy.nvim

return {
  "timmypidashev/darkbox.nvim",
  lazy = false,
  priority = 1000,
  config = function()
    require("darkbox").setup({
      contrast = "retro",
    })
    vim.cmd.colorscheme("darkbox")
  end,
}

The examples below use the vim.pack pattern. If you use lazy.nvim, place the setup() and colorscheme calls inside the config function instead.

✏️ Configuration

All available options with their defaults:

vim.pack.add({
  { src = "https://github.com/timmypidashev/darkbox.nvim" },
})

require("darkbox").setup({
  terminal_colors = true, -- add neovim terminal colors
  undercurl = true,
  underline = true,
  bold = true,
  italic = {
    strings = true,
    emphasis = true,
    comments = true,
    operators = false,
    folds = true,
  },
  strikethrough = true,
  invert_selection = false,
  invert_signs = false,
  invert_tabline = false,
  invert_intend_guides = false,
  inverse = true, -- invert background for search, diffs, statuslines and errors
  contrast = "", -- can be "retro", "dim" or empty string for classic
  palette_overrides = {},
  overrides = {},
  dim_inactive = false,
  transparent_mode = false,
})
vim.cmd.colorscheme("darkbox")

VERY IMPORTANT: Call setup() BEFORE the colorscheme command to apply custom configs.

🔧 Overrides

Palette

Specify your own palette colors:

vim.pack.add({
  { src = "https://github.com/timmypidashev/darkbox.nvim" },
})

require("darkbox").setup({
  palette_overrides = {
    base_red = "#991900",
  },
})
vim.cmd.colorscheme("darkbox")

🤝 Contributing

Contributions are welcome! Feel free to:

  1. Report issues
  2. Suggest improvements
  3. Create pull requests
  4. Share your configurations

📝 License

MIT License - See LICENSE for details


View the project page for darkbox on my website for more info :D

Made with ♥️ by timmypidashev

S
Description
A pure-black refresh of the retro-groove aesthetic for modern displays
Readme MIT 1.7 MiB
Languages
Lua 99.7%
Makefile 0.3%