๐Ÿ–Œ๏ธ nord.nvim

September 18, 2025 ยท View on GitHub

Neovim theme using the Nord palette that tries to be as close as possible to the official vim theme and the official vscode theme.

"Arctic, north-bluish clean and elegant" - arcticicestudio

2022-12-01-142011_1277x703_scrot 2022-12-01-142157_1270x700_scrot 2022-12-01-142111_1276x700_scrot 2022-12-01-142044_1265x634_scrot

โœจ Features

  • supports TreeSitter and LSP
  • vim terminal colors
  • lualine theme

Plugin Support

Your preferred plugin is missing ? Open an issue or, even better, open a pull request ๐Ÿ˜‰.

โšก๏ธ Requirements

  • Neovim >= 0.8.0

๐Ÿ“ฆ Installation

Install the theme with your preferred package manager:

lazy

require("lazy").setup({
  {
    "gbprod/nord.nvim",
    lazy = false,
    priority = 1000,
    config = function()
      require("nord").setup({})
      vim.cmd.colorscheme("nord")
    end,
  },
  install = {
    colorscheme = { "nord" },
  },
});

๐Ÿš€ Usage

Enable the colorscheme:

" Vim Script
colorscheme nord
-- Lua
vim.cmd.colorscheme("nord")

โš™๏ธ Configuration

โ—๏ธ configuration needs to be set BEFORE loading the color scheme with colorscheme nord

Nord.nvim will use the default options, unless you call setup.

require("nord").setup({
  -- your configuration comes here
  -- or leave it empty to use the default settings
  transparent = false, -- Enable this to disable setting the background color
  terminal_colors = true, -- Configure the colors used when opening a `:terminal` in Neovim
  diff = { mode = "bg" }, -- enables/disables colorful backgrounds when used in diff mode. values : [bg|fg]
  borders = true, -- Enable the border between verticaly split windows visible
  errors = { mode = "bg" }, -- Display mode for errors and diagnostics
                            -- values : [bg|fg|none]
  search = { theme = "vim" }, -- theme for highlighting search results
                              -- values : [vim|vscode]
  styles = {
    -- Style to be applied to different syntax groups
    -- Value is any valid attr-list value for `:help nvim_set_hl`
    comments = { italic = true },
    keywords = {},
    functions = {},
    variables = {},

    -- To customize lualine/bufferline
    bufferline = {
      current = {},
      modified = { italic = true },
    },

    lualine_bold = false, -- When `true`, section headers in the lualine theme will be bold
  },

  -- colorblind mode
  -- see https://github.com/EdenEast/nightfox.nvim#colorblind
  -- simulation mode has not been implemented yet.
  colorblind = {
    enable = false,
    preserve_background = false,
    severity = {
      protan = 0.0,
      deutan = 0.0,
      tritan = 0.0,
    },
  },

  -- Override the default colors
  ---@param colors Nord.Palette
  on_colors = function(colors) end,

  --- You can override specific highlights to use other groups or a hex color
  --- function will be called with all highlights and the colorScheme table
  ---@param colors Nord.Palette
  on_highlights = function(highlights, colors) end,
})

๐Ÿค Integrations

nvim-lualine/lualine.nvim To enable the `nord` theme for `Lualine`, simply specify it in your lualine settings:
require('lualine').setup {
  options = {
    -- ... your lualine config
    theme = 'nord'
    -- ... your lualine config
  }
}
dnlhc/glance.nvim Nord provide default options for `glance.nvim` to have a better integration:
require("lazy").setup({
    {
      "dnlhc/glance.nvim",
      opts = require("nord.plugins.glance").make_opts({
        folds = {
          folded = false,
        },
      }),
    }
  }
)
akinsho/bufferline.nvim To use this theme for `bufferline`, add this to your config:
require("bufferline").setup({
    options = {
        separator_style = "thin",
    },
    highlights = require("nord.plugins.bufferline").akinsho(),
})
akinsho/toggleterm.nvim Nord provide default options for `toggleterm.nvim` to have a better integration:
require("toggleterm").setup(
    require("nord.plugins.toggleterm").make_opts({
      -- your custom options
    })
)

๐ŸŽ‰ Credits