/nordic.nvim

🌒 Nord for Neovim, but warmer and darker. Supports a variety of plugins and other platforms.

Primary LanguageLuaMIT LicenseMIT

⚠️   I am currently under a lot of pressure to finish my Master's thesis and development has slowed down. I plan on getting back to working on the colorscheme ASAP.

🌒 Nordic

Tests

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.

⚠️   This colorscheme is still in early development, so please do not hesitate if there is anything wrong or if you have any suggestions! Currently I am dogfooding it to make sure I do not miss anything.

📷 Showcase

Nvim-tree, lsp, bar-bar, lualine and treesitter: image

Kitty and BTop++: image

[WIP] Mixed with onedark

image

Telescope

Flat: image Classic: image

Dashboard

image

Diffview

image

🎨 Palette

TODO

📟 Terminal Emulators

Properly rendering fonts can be a complex problem and, as expected, different terminal emulators (TE) have different results. I personally use Kitty due to it having the best font rendering (imo). So if you use a different TE and the colors seem slightly inconsistent, that might be why.

Comparison

Kitty:
image

Alacritty:
image

Neovide:
image

📦 Installation

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

🚀 Usage

Using vim:

colorscheme nordic

Using lua:

vim.cmd.colorscheme 'nordic'
-- or
require 'nordic' .load()

Using with lualine:

require 'lualine' .setup {
    options = {
        theme = 'nordic'
    }
}

To get the palette in lua:

local palette = require 'nordic.colors'

⚙️ Configuration

Nordic will use the default values, unless setup is called. Below is the default configuration.

require 'nordic' .setup {
    -- Available themes: 'nordic', 'onedark'.
    -- Onedark is WIP.
    theme = 'nordic',
    -- Enable bold keywords.
    bold_keywords = false,
    -- Enable italic comments.
    italic_comments = true,
    -- Enable general editor background transparency.
    transparent_bg = false,
    -- Enable brighter float border.
    bright_border = true,
    -- Nordic specific options.
    -- Set all to false to use original Nord colors.
    -- Adjusts some colors to make the theme a bit nicer (imo).
    nordic = {
        -- Reduce the overall amount of blue in the theme (diverges from base Nord).
        reduced_blue = true,
    },
    -- Onedark specific options.
    -- Set all to false to keep original onedark colors.
    -- Adjusts some colors to make the theme a bit nicer (imo).
    -- WIP.
    onedark = {
        -- Brighten the whites to fit the theme better.
        brighter_whites = true,
    },
    -- Override the styling of any highlight group.
    override = {},
    cursorline = {
        -- Enable bold font in cursorline.
        bold = false,
        -- Avialable styles: 'dark', 'light'.
        theme = 'light',
        -- Hide the cursorline when the window is not focused.
        hide_unfocused = true,
    },
    noice = {
        -- Available styles: `classic`, `flat`.
        style = 'classic',
    },
    telescope = {
        -- Available styles: `classic`, `flat`.
        style = 'flat',
    },
    leap = {
        -- Dims the backdrop when using leap.
        dim_backdrop = false,
    },
}

An example of overriding the TelescopePromptTitle colors:

local palette = require 'nordic.colors' .palette
require 'nordic' .setup {
    override = {
        TelescopePromptTitle = {
	    fg = palette.red.bright,
            bg = palette.green.base,
            italic = true,
        },
    }
}

🗒️ Supported Plugins

This is the list of currently supported plugins. If you want other plugins to be supported either open an issue or submit a PR!

💻 Supported Platforms

The list of currently supported platforms.

🎙️ Acknowledgements