Onenord is a Neovim theme written in Lua that combines the Nord and Atom One Dark color palettes. More specifically, it seeks to add more vibrance to the Nord theme and provide a great programming experience by leveraging Treesitter!
- Treesitter
- LSP Diagnostics
- Trouble
- Git Signs
- Git Gutter
- Neogit
- Telescope
- Cmp
- NvimTree
- WhichKey
- Indent Blankline
- Dashboard
- BufferLine
- Lualine
- Notify
- Lightspeed
- Sneak
- Hop
- Fern
- Barbar
- LSP Saga
- Dap
- Neovim >= 0.5.0
Install via your favourite package manager:
" If you are using Vim Plug
Plug 'rmehri01/onenord.nvim', { 'branch': 'main' }
-- If you are using Packer
use 'rmehri01/onenord.nvim'
For the defaults, simply enable the colorscheme:
" Vim Script
colorscheme onenord
-- Lua
require('onenord').setup()
To enable the onenord
theme for Lualine
, specify it in your lualine settings:
require('lualine').setup {
options = {
-- ... your lualine config
theme = 'onenord'
-- ... your lualine config
}
}
The configuration of different options is done through a setup function which will handle setting the colors, so there's no need to set colorscheme
yourself! This is an example of the function with the default values:
require('onenord').setup({
theme = nil, -- "dark" or "light". Alternatively, remove the option and set vim.o.background instead
borders = true, -- Split window borders
fade_nc = false, -- Fade non-current windows, making them more distinguishable
styles = {
comments = "NONE", -- Style that is applied to comments: see `highlight-args` for options
strings = "NONE", -- Style that is applied to strings: see `highlight-args` for options
keywords = "NONE", -- Style that is applied to keywords: see `highlight-args` for options
functions = "NONE", -- Style that is applied to functions: see `highlight-args` for options
variables = "NONE", -- Style that is applied to variables: see `highlight-args` for options
diagnostics = "underline", -- Style that is applied to diagnostics: see `highlight-args` for options
},
disable = {
background = false, -- Disable setting the background color
cursorline = false, -- Disable the cursorline
eob_lines = true, -- Hide the end-of-buffer lines
},
custom_highlights = {}, -- Overwrite default highlight groups
custom_colors = {}, -- Overwrite default colors
})
Here is an example of overwriting the default highlight groups and colors:
local colors = require("onenord.colors").load()
require("onenord").setup({
custom_highlights = {
TSConstructor = { fg = colors.dark_blue },
},
custom_colors = {
red = "#ffffff",
},
})
You can also use the onenord color palette for other plugins using local colors = require("onenord.colors").load()
!
Extra color configs for Kitty, Alacritty, iTerm, and Xresources can be found in extras. To use them, refer to their respective documentation.
I was highly inspired by these other awesome themes, check them out!