1e1f8200403244d9cdc800933dcffb2e9b60f325
n8n.nvim
A dark Neovim colorscheme inspired by the n8n workflow automation platform's dark mode UI.
Built from n8n's actual CSS design tokens: the same neutrals, the signature orange accent, the purple/blue/green syntax colors you see in the n8n editor and JSON viewer.
Features
- Full Treesitter highlight group support
- LSP semantic token highlights
- Terminal colors
- Lualine theme included
- Plugin support: Telescope, NvimTree, Neo-tree, cmp, Blink.cmp, GitSigns, Indent Blankline, Which-Key, Lazy, Mason, Noice, Notify, Trouble, Mini, Bufferline, Snacks, and more
- Transparent background option
- Customizable styles and color overrides
Installation
vim.pack (native packages)
Clone the repo into your Neovim pack path so it loads automatically:
git clone https://github.com/your-username/n8n.nvim \
~/.config/nvim/pack/plugins/start/n8n.nvim
Then in your init.lua:
require("n8n").setup({
-- optional config
})
vim.cmd("colorscheme n8n")
If you prefer to load it on demand, clone into opt instead:
git clone https://github.com/your-username/n8n.nvim \
~/.config/nvim/pack/plugins/opt/n8n.nvim
vim.cmd("packadd n8n.nvim")
require("n8n").setup()
vim.cmd("colorscheme n8n")
lazy.nvim
{
"your-username/n8n.nvim",
lazy = false,
priority = 1000,
config = function()
require("n8n").setup({
-- your config here (optional)
})
vim.cmd("colorscheme n8n")
end,
}
packer.nvim
use({
"your-username/n8n.nvim",
config = function()
require("n8n").setup()
vim.cmd("colorscheme n8n")
end,
})
vim-plug
Plug 'your-username/n8n.nvim'
" in your init.vim, after plug#end():
lua require('n8n').setup()
colorscheme n8n
Configuration
Call setup() before setting the colorscheme. All options are optional.
require("n8n").setup({
transparent = false, -- enable transparent background
terminal_colors = true, -- configure terminal colors
dim_inactive = false, -- dim inactive split windows
styles = {
comments = { italic = true },
keywords = {},
functions = {},
strings = {},
variables = {},
},
-- Override specific colors
on_colors = function(colors)
-- colors.bg = "#000000"
return colors
end,
-- Override specific highlight groups
on_highlights = function(highlights, colors)
-- highlights.Normal = { fg = "#ffffff", bg = "#000000" }
end,
})
Lualine
The theme ships with a built-in lualine theme:
require("lualine").setup({
options = {
theme = "n8n",
},
})
Palette
The color palette is extracted directly from n8n's dark mode CSS custom properties. Key colors:
Project Structure
n8n.nvim/
├── colors/
│ └── n8n.lua # entry point for :colorscheme n8n
├── lua/
│ ├── n8n/
│ │ ├── init.lua # setup() and load() logic
│ │ ├── palette.lua # raw hex values from n8n's CSS
│ │ ├── theme.lua # semantic color mapping
│ │ └── groups.lua # all highlight group definitions
│ └── lualine/
│ └── themes/
│ └── n8n.lua # lualine theme extra
├── LICENSE
└── README.md
Acknowledgements
Colors derived from the n8n design system. This is a community project and is not affiliated with n8n GmbH.
License
MIT
Languages
Lua
100%













