- Lua 85.8%
- Python 10.3%
- Go Template 3.7%
- Makefile 0.2%
| assets | ||
| colors | ||
| docs | ||
| extras | ||
| lua | ||
| samples | ||
| scripts | ||
| spec | ||
| .busted | ||
| .gitignore | ||
| CHANGELOG.md | ||
| CLAUDE.md | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
A dark Neovim colorscheme inspired by vim-deep-space and nebula texture. Vivid but sober, low contrast by design. Full TreeSitter, LSP, diagnostics, and LazyVim plugin coverage.
Examples
![]() |
![]() |
![]() |
![]() |
Palette
See docs/PALETTE.md for the full palette reference — identity, HSL principles, and color justifications.
Requirements
- Neovim >= 0.8
termguicolorsenabled
Installation
lazy.nvim
{
'viniciusfs/void-space.nvim',
lazy = false, -- must be loaded at startup
priority = 1000, -- load before other UI plugins
opts = {
italic_comments = true,
italic_keywords = false,
transparent = false,
dim_inactive = false,
-- on_highlights = function(hl, c)
-- hl.CursorLine = { bg = c.sel }
-- end,
},
config = function(_, opts)
require('void-space').setup(opts)
vim.cmd('colorscheme void-space')
end,
}
Usage
Minimal (just activate it)
vim.cmd('colorscheme void-space')
With setup (call before colorscheme)
require('void-space').setup({
italic_comments = true, -- italicize comments
italic_keywords = false, -- italicize keywords / conditionals
transparent = false, -- transparent Normal background
dim_inactive = false, -- dim inactive windows
})
vim.cmd('colorscheme void-space')
LazyVim integration
-- In your lazy.nvim spec:
{
'viniciusfs/void-space.nvim',
lazy = false,
priority = 1000,
opts = {
italic_comments = true,
italic_keywords = false,
},
config = function(_, opts)
require('void-space').setup(opts)
vim.cmd('colorscheme void-space')
end,
},
-- Tell LazyVim which colorscheme to use (in your LazyVim options):
{
'LazyVim/LazyVim',
opts = { colorscheme = 'void-space' },
},
Overriding specific highlights
Use the on_highlights callback to tweak any group after the theme loads. The callback receives the full highlights table and the palette so you can reference any color:
require('void-space').setup({
on_highlights = function(hl, c)
-- Make the cursor line more visible
hl.CursorLine = { bg = c.sel }
-- Use a brighter yellow for search
hl.Search = { fg = c.bg, bg = c.bright_yellow }
-- Transparent floating windows
hl.NormalFloat = { fg = c.fg, bg = c.none }
hl.FloatBorder = { fg = c.fg_dim, bg = c.none }
end,
})
Lualine
The theme is picked up automatically when lualine's theme option is set. Use the theme name that matches the active variant:
require('lualine').setup({
options = { theme = 'void-space' }, -- default variant
-- options = { theme = 'void-space-nebula' }, -- nebula variant
-- options = { theme = 'void-space-cosmic-dawn' }, -- cosmic_dawn variant
})
Variants (Experimental)
Two additional variants are available: nebula and cosmic_dawn. Both are experimental — palette and highlight assignments may still change between releases.
| cosmic_dawn | nebula |
![]() |
![]() |
To activate a variant, set the variant option in setup():
require('void-space').setup({ variant = 'nebula' }) -- or 'cosmic_dawn'
vim.cmd('colorscheme void-space')





