gbprod / nord.nvim

An arctic, north-bluish clean and elegant Neovim theme.
Do What The F*ck You Want To Public License
173 stars 21 forks source link
lua neovim neovim-colorscheme nvim nvim-colorscheme theme

🖌️ nord.nvim

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

Plugin Support

Your preferred plugin is missing ? Open an issue or, even better, open a pull request 😉.

⚡️ Requirements

📦 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 },
    },
  },

  -- 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,
    },
  },

  --- You can override specific highlights to use other groups or a hex color
  --- function will be called with all highlights and the colorScheme table
  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: ```lua 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: ```lua 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: ```lua require("bufferline").setup({ options = { separator_style = "thin", }, highlights = require("nord.plugins.bufferline").akinsho(), }) ```

🎉 Credits