Skip to content


Folders and files

Last commit message
Last commit date

Latest commit


Repository files navigation

🏔️ onenord.nvim

Screenshot of the onenord theme

Screenshot of the onenordlight theme


OneNord is a Neovim theme written in Lua that combines the Nord and Atom One Dark color palettes. More specifically, it seeks to add more vibrance to the Nord theme and provide a great programming experience by leveraging Treesitter!

Plugin Support


  • Neovim >= 0.8.0


Install via your favourite package manager:

" If you are using Vim Plug
Plug 'rmehri01/onenord.nvim', { 'branch': 'main' }
-- If you are using Packer
use 'rmehri01/onenord.nvim'


For the defaults, simply enable the colorscheme:

" Vim Script
colorscheme onenord
-- Lua

To enable the onenord theme for Lualine, specify it in your lualine settings:

require('lualine').setup {
  options = {
    -- ... your lualine config
    theme = 'onenord'
    -- ... your lualine config


The configuration of different options is done through a setup function which will handle setting the colors, so there's no need to set colorscheme yourself! This is an example of the function with the default values:

  theme = nil, -- "dark" or "light". Alternatively, remove the option and set vim.o.background instead
  borders = true, -- Split window borders
  fade_nc = false, -- Fade non-current windows, making them more distinguishable
  -- Style that is applied to various groups: see `highlight-args` for options
  styles = {
    comments = "NONE",
    strings = "NONE",
    keywords = "NONE",
    functions = "NONE",
    variables = "NONE",
    diagnostics = "underline",
  disable = {
    background = false, -- Disable setting the background color
    float_background = false, -- Disable setting the background color for floating windows
    cursorline = false, -- Disable the cursorline
    eob_lines = true, -- Hide the end-of-buffer lines
  -- Inverse highlight for different groups
  inverse = {
    match_paren = false,
  custom_highlights = {}, -- Overwrite default highlight groups
  custom_colors = {}, -- Overwrite default colors

Here is an example of overwriting the default highlight groups and colors:

local colors = require("onenord.colors").load()

  custom_highlights = {
    ["@constructor"] = { fg = colors.dark_blue },
  custom_colors = {
    red = "#ffffff",

If you use the light and dark keys, the override will be specific to those themes, otherwise they apply to both:

local colors = require("onenord.colors").load()

  custom_highlights = {
    light = {
      ["@constructor"] = { fg = colors.dark_blue }, -- only applies in light theme
  custom_colors = {
    blue = "#0000ff", -- applies in both themes
    light = {
      red = "#000000", -- only applies in light theme
    dark = {
      red = "#ffffff", -- only applies in dark theme

You can also use the OneNord color palette for other plugins using local colors = require("onenord.colors").load()!


LSP Saga

For custom LSP kind colors:

  ui = {
    kind = require("onenord.integrations.lspsaga").custom_kind(),


Extra color configs for Kitty, Alacritty, iTerm, Warp, and Xresources can be found in extras. To use them, refer to their respective documentation.

An example of the Kitty onenord theme

There is also a version for JetBrains IDEs if you are interested!


I was highly inspired by these other awesome themes, check them out!