oxidescheme/nvim

A minimalist colorscheme for neovim

Lua

29

73 commits

updated Oct 6, 2026

See the code

See what people are saying

SourceMessageScoreDate

oxide - a minimalist, monochrome-based colorscheme for neovim (and more) (r/neovim)

Hey, I've been working on oxide for over a year now and wanted to share it here ;) I kept trying different colorschemes and never quite found one that suited me. I like minimalism and find too many colors distracting. I tried fully monochrome themes too, but realized I still wanted color to help…

131

Oct 10, 2026

README

oxide

Where function meets form.

oxide nvim dashboard showcase

oxide nvim picker showcase

oxide nvim completion showcase

oxide nvim diagnostics showcase

oxide brings the oxide colorscheme to neovim with full treesitter and lsp support.

Features

  • Dark theme with Treesitter and LSP semantic highlighting
  • Customizable colors and highlight groups
  • Lazy-loaded with minimal startup impact
  • Built-in lualine theme and growing plugin integration

Installation

vim.pack (Neovim 0.12+)

vim.pack.add({
  {
    src = 'https://github.com/oxidescheme/nvim',
    name = 'oxide',
  },
})

vim.cmd.colorscheme("oxide")

lazy.nvim

{
  "oxidescheme/nvim",
  name = "oxide",
  lazy = false,
  priority = 1000,
  config = function()
    require("oxide").setup()
    vim.cmd.colorscheme("oxide")
  end,
}

packer.nvim

use {
  "oxidescheme/nvim",
  name = "oxide",
  config = function()
    require("oxide").setup()
    vim.cmd.colorscheme("oxide")
  end
}

vim-plug

Plug 'oxidescheme/nvim'
require("oxide").setup()
vim.cmd.colorscheme("oxide")

Usage

-- Basic usage
vim.cmd.colorscheme("oxide")

-- Or use the lua API
require("oxide").load()

Configuration

oxide comes with sensible defaults, but every aspect can be customized:

require("oxide").setup({
  transparent = false, -- Enable transparent background
  terminal_colors = true, -- Configure terminal colors

  styles = {
    comments = { italic = true },
    keywords = {},
    functions = {},
    variables = {},
    strings = {},
    booleans = {},
    numbers = {},
  },

  -- Override colors
  on_colors = function(colors)
    colors.red = "#ff0000" -- Make red more intense
  end,

  -- Override highlight groups
  on_highlights = function(highlights, colors)
    highlights.Comment = { fg = colors.green, italic = true }
  end,
})

Configuration Options

OptionDefaultDescription
transparentfalseEnable transparent background
terminal_colorstrueSet terminal colors
styles{}Style overrides for syntax groups
on_colorsnilFunction to override color palette
on_highlightsnilFunction to override highlight groups

Custom Styles

require("oxide").setup({
  styles = {
    -- Disable default comment italics
    comments = { italic = false },
    -- Make functions stand out more
    functions = { bold = true, italic = true },
    -- Subtle variables
    variables = { italic = true },
  }
})

Function Colors

Functions, methods, and callable macros use teal. To restore red function highlighting:

require("oxide").setup({
  styles = {
    functions = { fg = "#ed756e" },
  },
})

vim.cmd.colorscheme("oxide")

The override also applies to calls, built-in functions, and static functions and methods.

Integration with Other Plugins

oxide works seamlessly with popular plugins:

Contributing

PRs welcome. Make sure new highlight groups serve a clear purpose and colors match the palette defined in the codebase.

Credits

License

MIT License - see LICENSE for details.

Copyright © 2025-present oxidescheme

colorscheme
lsp
lua
neovim
neovim-colorscheme
neovim-plugin
oxide
port
theme
treesitter

oxidescheme/nvim

A minimalist colorscheme for neovim

Lua

29

73 commits

updated Oct 6, 2026

See the code

See what people are saying

SourceMessageScoreDate

oxide - a minimalist, monochrome-based colorscheme for neovim (and more) (r/neovim)

Hey, I've been working on oxide for over a year now and wanted to share it here ;) I kept trying different colorschemes and never quite found one that suited me. I like minimalism and find too many colors distracting. I tried fully monochrome themes too, but realized I still wanted color to help…

131

Oct 10, 2026

README

oxide

Where function meets form.

oxide nvim dashboard showcase

oxide nvim picker showcase

oxide nvim completion showcase

oxide nvim diagnostics showcase

oxide brings the oxide colorscheme to neovim with full treesitter and lsp support.

Features

  • Dark theme with Treesitter and LSP semantic highlighting
  • Customizable colors and highlight groups
  • Lazy-loaded with minimal startup impact
  • Built-in lualine theme and growing plugin integration

Installation

vim.pack (Neovim 0.12+)

vim.pack.add({
  {
    src = 'https://github.com/oxidescheme/nvim',
    name = 'oxide',
  },
})

vim.cmd.colorscheme("oxide")

lazy.nvim

{
  "oxidescheme/nvim",
  name = "oxide",
  lazy = false,
  priority = 1000,
  config = function()
    require("oxide").setup()
    vim.cmd.colorscheme("oxide")
  end,
}

packer.nvim

use {
  "oxidescheme/nvim",
  name = "oxide",
  config = function()
    require("oxide").setup()
    vim.cmd.colorscheme("oxide")
  end
}

vim-plug

Plug 'oxidescheme/nvim'
require("oxide").setup()
vim.cmd.colorscheme("oxide")

Usage

-- Basic usage
vim.cmd.colorscheme("oxide")

-- Or use the lua API
require("oxide").load()

Configuration

oxide comes with sensible defaults, but every aspect can be customized:

require("oxide").setup({
  transparent = false, -- Enable transparent background
  terminal_colors = true, -- Configure terminal colors

  styles = {
    comments = { italic = true },
    keywords = {},
    functions = {},
    variables = {},
    strings = {},
    booleans = {},
    numbers = {},
  },

  -- Override colors
  on_colors = function(colors)
    colors.red = "#ff0000" -- Make red more intense
  end,

  -- Override highlight groups
  on_highlights = function(highlights, colors)
    highlights.Comment = { fg = colors.green, italic = true }
  end,
})

Configuration Options

OptionDefaultDescription
transparentfalseEnable transparent background
terminal_colorstrueSet terminal colors
styles{}Style overrides for syntax groups
on_colorsnilFunction to override color palette
on_highlightsnilFunction to override highlight groups

Custom Styles

require("oxide").setup({
  styles = {
    -- Disable default comment italics
    comments = { italic = false },
    -- Make functions stand out more
    functions = { bold = true, italic = true },
    -- Subtle variables
    variables = { italic = true },
  }
})

Function Colors

Functions, methods, and callable macros use teal. To restore red function highlighting:

require("oxide").setup({
  styles = {
    functions = { fg = "#ed756e" },
  },
})

vim.cmd.colorscheme("oxide")

The override also applies to calls, built-in functions, and static functions and methods.

Integration with Other Plugins

oxide works seamlessly with popular plugins:

Contributing

PRs welcome. Make sure new highlight groups serve a clear purpose and colors match the palette defined in the codebase.

Credits

License

MIT License - see LICENSE for details.

Copyright © 2025-present oxidescheme

colorscheme
lsp
lua
neovim
neovim-colorscheme
neovim-plugin
oxide
port
theme
treesitter