Skip to content

An arctic, north-bluish clean and elegant Neovim theme.

License

Notifications You must be signed in to change notification settings

gbprod/nord.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🖌️ 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

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

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