A Neovim colorscheme based on Nord, but Aurora > Frost. The idea behind this colorscheme is to use Nord, but add some darker colors and use Aurora more prominently than Nord themes usually do. This ends up creating a colorscheme that is soft on the eyes.
If there is anything that does not seem right, even if it is a very small highlight, please let me know with an issue or PR!
For the list of colors/palette, see this file. Some extra colors and use cases are generated in this file.
With packer.nvim:
use 'AlexvZyl/nordic.nvim'
With lazy.nvim:
{
'AlexvZyl/nordic.nvim',
lazy = false,
priority = 1000,
config = function()
require('nordic').load()
end
}
With vim-plug:
Plug 'AlexvZyl/nordic.nvim', { 'branch': 'main' }
Using vim:
colorscheme nordic
Using lua:
vim.cmd.colorscheme('nordic')
-- or
require('nordic').load()
Using with lualine:
require('lualine').setup({
options = {
theme = 'nordic'
}
})
If you want to use the color palette somewhere else, you can access it with:
local palette = require('nordic.colors')
Warning
Please make sure that require('nordic.colors')
is called after setup, otherwise the colors might be wrong for your config.
Nordic will use the default values, unless setup
is called. Below is the default configuration.
require('nordic').setup({
-- This callback can be used to override the colors used in the base palette.
on_palette = function(palette) end,
-- This callback can be used to override the colors used in the extended palette.
after_palette = function(palette) end,
-- This callback can be used to override highlights before they are applied.
on_highlight = function(highlights, palette) end,
-- Enable bold keywords.
bold_keywords = false,
-- Enable italic comments.
italic_comments = true,
-- Enable editor background transparency.
transparent = {
-- Enable transparent background.
bg = false,
-- Enable transparent background for floating windows.
float = false,
},
-- Enable brighter float border.
bright_border = false,
-- Reduce the overall amount of blue in the theme (diverges from base Nord).
reduced_blue = true,
-- Swap the dark background with the normal one.
swap_backgrounds = false,
-- Cursorline options. Also includes visual/selection.
cursorline = {
-- Bold font in cursorline.
bold = false,
-- Bold cursorline number.
bold_number = true,
-- Available styles: 'dark', 'light'.
theme = 'dark',
-- Blending the cursorline bg with the buffer bg.
blend = 0.85,
},
noice = {
-- Available styles: `classic`, `flat`.
style = 'classic',
},
telescope = {
-- Available styles: `classic`, `flat`.
style = 'flat',
},
leap = {
-- Dims the backdrop when using leap.
dim_backdrop = false,
},
ts_context = {
-- Enables dark background for treesitter-context window
dark_background = true,
}
})
Examples:
on_palette
Β
An example of overriding colors in the base palette:
require('nordic').setup({
on_palette = function(palette)
palette.black0 = "#BF616A"
palette.green.base = palette.cyan.base
end,
})
after_palette
Β
An example of setting the visual selection color (for more values see this file):
require('nordic').setup({
after_palette = function(palette)
local U = require("nordic.utils")
palette.bg_visual = U.blend(palette.orange.base, palette.bg, 0.15)
end,
})
on_highlight
Β
An example of overriding the TelescopePromptTitle
colors:
require('nordic').setup({
on_highlight = function(highlights, palette)
highlights.TelescopePromptTitle = {
fg = palette.red.bright,
bg = palette.green.base,
italic = true,
underline = true,
sp = palette.yellow.dim,
undercurl = false
}
end,
})
And an example of disabling all italics:
require('nordic').setup({
on_highlight = function(highlights, _palette)
for _, highlight in pairs(highlights) do
highlight.italic = false
end
end
})
For the list of supported plugins, please take a look at this file. For the list of supported platforms, please take a look at this directory.
I do not personally use all of the platforms and plugins in the list, so if something is not right, or you have a suggestion, please open a PR!
- folke/tokyonight served as an excellent example and template to create a Neovim theme.
- Dotfiles used in the screenshots.
- Aonodensetsu/prev_gen was used to create the palette preview.