Skip to content

Configuration

alsi-lawr edited this page Jul 11, 2026 · 4 revisions

Configuration

Installation

lazy.nvim

{
	"alsi-lawr/neotheme.nvim",
	lazy = false,
	priority = 1000,
	config = function()
		require("neotheme").setup()
		vim.cmd.colorscheme("neotheme")
	end,
}

vim.pack

vim.pack.add({ "https://github.com/alsi-lawr/neotheme.nvim" })

require("neotheme").setup()
vim.cmd.colorscheme("neotheme")

Configure Neotheme before plugins that consume its highlights, especially Lualine.

Complete setup

require("neotheme").setup({
	theme = "gruber-dark-muted",
	bold = true,
	italic = {
		comments = true,
		strings = true,
		folds = true,
		operators = false,
	},
	underline = true,
	undercurl = true,
	integrations = {
		bufferline = true,
		gitsigns = true,
		nvim_tree = true,
		telescope = true,
		trouble = true,
		which_key = true,
	},
})

vim.cmd.colorscheme("neotheme")

Options

Option Default Meaning
theme "gruber-dark-muted" A built-in name or "custom". See Themes and palette customization.
configure_palette nil A function that mutates the resolved semantic palette before highlights are created. It must return nil.
bold true Enables bold where the theme uses emphasis.
italic.comments true Enables comment italics.
italic.strings true Enables string italics.
italic.folds true Enables folded-text italics.
italic.operators false Enables operator italics.
underline true Enables underline highlights.
undercurl true Enables undercurl highlights.
integrations all false Enables individual plugin integrations. See Integrations and Lualine.

Options are validated during setup. Unknown option keys and invalid value types fail rather than being ignored.

Palette hooks

Use configure_palette to change semantic roles without copying a built-in family member:

require("neotheme").setup({
	configure_palette = function(palette)
		palette.ui.accent = palette.syntax.keyword
		palette.ui.directory = palette.syntax.function_name
		palette.ui.search = palette.diagnostic.warning
	end,
})

The hook receives a copy, so changing it does not mutate the built-in definition. See Themes and palette customization for the palette categories and API and custom themes for a custom palette that starts empty.

Home

Clone this wiki locally