palenight.nvim
July 25, 2026 ยท View on GitHub
Note
This is a maintained hard fork of drewtempelmeyer/palenight.vim.
Dark palenight colorscheme written in Fennel with full support for:
- Tree-sitter
- LSP (including semantic highlighting)
- True-color, 256 and 16 color palette terminals
- GUIs (like Neovide)
- And lots of plugins!
Requirements
Neovim >=0.8, though, latest one is recommended.
Installation
Lazy
{ "alexmozaidze/palenight.nvim" }
Packer
use "alexmozaidze/palenight.nvim"
Usage
vim.cmd.colorscheme "palenight"
Setup options
Note
Setup is completely optional, you only need it to set options. Plugin loads by itself when you set the colorscheme.
Here are the default options:
{
-- Some terminals don't display italics very well,
-- thus, they're disabled by default.
italic = false,
-- Fallback color palette for non-truecolor terminals,
-- such as tty or some really old terminal.
--
-- Available options:
-- "auto" => 16 color palette if in linux tty, 256 otherwise.
-- 256 => 256 color palette.
-- 16 => 16 color palette.
cterm_palette = "auto",
}
Plugin support
Many plugins are supported, including:
- lualine.nvim
- rainbow-delimiters.nvim
- gitsigns.nvim
- indent-blankline.nvim
- hlargs.nvim
- nvim-hlslens
- modicator.nvim
- marks.nvim
- nvim-cmp
For full list of supported plugins, see groups.fnl.
If you have a plugin that isn't supported, feel free to file an issue or make a pull request.
Overriding colors
Overriding colors
local colors = require "palenight/colors/truecolor"
local hl = vim.api.nvim_set_hl
local autocmd = vim.api.nvim_create_autocmd
autocmd("ColorScheme", {
pattern = "palenight",
callback = function()
-- Directly setting a color
hl(0, "Operator", { fg = colors.purple })
-- Linking to another highlight group
hl(0, "Operator", { link = "Macro" })
end,
})
For list of available colors check out colors/truecolor.fnl.
Also check out :help nvim_set_hl() and :help nvim_create_autocmd().
Overriding internal colors and groups
{
"alexmozaidze/palenight.nvim",
init = function()
-- WARN: The order in which you require these modules is important.
-- Require and set the colors before requiring groups.
-- Changing internal colors
local colors = require "palenight/colors/truecolor"
colors.comment = "#ff00ff"
-- Changing internal group table
local groups = require "palenight/groups"
groups["@function"].fg = "#ff0000"
end,
}
Transparency
Use xiyaowong/transparent.nvim
or...
If you want to do transparency yourself, you can override the Normal color to be cleared. However, keep in mind that xiyaowong/transparent.nvim is more convenient and is more complete. It covers more highlight colors and has commands to toggle transparency.
Manual transparency example
{
"alexmozaidze/palenight.nvim",
init = function()
local groups = require "palenight/groups"
groups["Normal"] = { ctermbg = "none", ctermfg = "none", fg = "none", bg = "none" }
end,
}
Questions? Need help?
If you need help with the plugin you can ask any questions on discussions.
