A beautiful, vibrant Neovim colorscheme inspired by spring blossoms with a soft, dreamy aesthetic.
Image by Tawatchai07 on Freepik.
This theme is a Neovim port of RustedTurnip's night-blossom VSCode theme, bringing the same spring-inspired aesthetic to Neovim.
Nightblossom comes with multiple built-in variants:
- 🩷 Spring (default) Original vibrant spring colors
:colorscheme nightblossom
- 🌸 Sakura Cherry blossom inspired, warm pink tones
:colorscheme nightblossom-sakura
- 💮 Pastel Soft, muted colors for gentle viewing
:colorscheme nightblossom-pastel
Using lazy.nvim
{
"rijulpaul/nightblossom.nvim",
name = "nightblossom",
lazy = false,
priority = 1000,
config = function()
vim.cmd("colorscheme nightblossom")
end,
}Using packer.nvim
use {
"rijulpaul/nightblossom.nvim",
as = "nightblossom",
config = function()
vim.cmd("colorscheme nightblossom")
end
}Using vim-plug
Plug 'rijulpaul/nightblossom.nvim'
colorscheme nightblossom-- Default spring variant
vim.cmd("colorscheme nightblossom")
-- Or use specific variants
vim.cmd("colorscheme nightblossom-sakura")
vim.cmd("colorscheme nightblossom-pastel")-- Setup with configuration options
require("nightblossom").setup({
variant = "spring", -- "spring", "sakura", "pastel"
transparent = false, -- Enable background transparency
integrations = {
treesitter = true, -- TreeSitter highlighting
},
-- Override system for custom colors and highlights
overrides = {
colors = {
bg = "#000015", -- Custom background color
fg = "#ffffff", -- Custom foreground color
red = "#ff4444", -- Custom red accent
},
highlights = {
Normal = { bg = "#1a1a1a", fg = "#e0e0e0" },
["@comment"] = { fg = "#888888", italic = false },
}
}
})Nightblossom provides a powerful override system that allows you to customize both colors and highlights without modifying the source code.
Get the current palette, each color and its hex code.
-- Get a table of current palette
local palette = require("nightblossom").get_palette()
for name, hl in pairs(palette) do
print(name .. " : " .. hl)
endOverride specific colors in the palette:
-- Override specific colors
require("nightblossom").override_colors({
bg = "#0a0a0a", -- Darker background
fg = "#ffffff", -- Pure white foreground
red = "#ff4444", -- Brighter red
green = "#44ff44", -- Brighter green
purple = "#a855f7", -- Custom purple
})Override specific highlight groups:
-- Override specific highlights
require("nightblossom").override_highlights({
Normal = {
bg = "#1a1a1a",
fg = "#e0e0e0",
},
Comment = {
fg = "#888888",
italic = true,
bold = true,
},
Function = {
fg = "#ff6b6b",
bold = true,
},
String = {
fg = "#ffaa00",
bold = true,
},
})Change colors and highlights on the fly:
-- Make theme darker
local function make_darker()
require("nightblossom").override_colors({
bg = "#000000",
bg_alt = "#0a0a0a",
fg = "#cccccc",
})
end
-- Apply high contrast theme
local function apply_high_contrast()
require("nightblossom").override_highlights({
Normal = { bg = "#000000", fg = "#ffffff" },
Comment = { fg = "#888888", italic = true },
String = { fg = "#ffaa00", bold = true },
Function = { fg = "#00aaff", bold = true },
})
endCustomize highlights for specific plugins:
-- Telescope overrides
require("nightblossom").override_highlights({
TelescopeBorder = { fg = "#ff6b6b", bg = "#1a1a1a" },
TelescopeSelection = { bg = "#2a2a2a", bold = true },
})
-- LSP overrides
require("nightblossom").override_highlights({
LspDiagnosticsError = { fg = "#ff4444", bold = true },
LspDiagnosticsWarning = { fg = "#ffaa00", bold = true },
})
-- Git overrides
require("nightblossom").override_highlights({
GitSignsAdd = { fg = "#44ff44" },
GitSignsChange = { fg = "#ffaa00" },
GitSignsDelete = { fg = "#ff4444" },
})Apply different overrides for different filetypes:
-- Python-specific overrides
vim.api.nvim_create_autocmd("FileType", {
pattern = "python",
callback = function()
require("nightblossom").override_highlights({
Function = { fg = "#ff6b6b", bold = true },
Keyword = { fg = "#4ec9b0", bold = true },
})
end,
})
-- JavaScript-specific overrides
vim.api.nvim_create_autocmd("FileType", {
pattern = "javascript",
callback = function()
require("nightblossom").override_highlights({
Function = { fg = "#61dafb", bold = true },
Keyword = { fg = "#ff6b6b", bold = true },
})
end,
})Clear and manage your overrides:
-- Clear all overrides
require("nightblossom").clear_all_overrides()
-- Clear specific override types
require("nightblossom").clear_color_overrides() -- Only clear color overrides
require("nightblossom").clear_highlight_overrides() -- Only clear highlight overrides
-- Get current overrides
local current_colors = require("nightblossom").get_color_overrides()
local current_highlights = require("nightblossom").get_highlight_overrides()-- Switch variants programmatically
require("nightblossom").set_variant("sakura")
-- Get available variants
local variants = require("nightblossom").get_variants()
print("Available:", table.concat(variants, ", "))This project is licensed under the MIT License - see the LICENSE file for details.
- VSCode: night-blossom by RustedTurnip - The original VSCode theme
- Neovim: This project - Nightblossom for Neovim
Made with 🌸 by rijulpaul



