A dark Neovim colorscheme built around #300A24 — the iconic Ubuntu terminal
purple, named after Ubuntu's first release codename, "Warty Warthog."
A Lua-first, modular colorscheme with a base16-ish palette and opt-in plugin integrations.
warty-nvim.mp4
| Background | Text | Accent |
|---|---|---|
#300A24 |
#F2E9EE |
#E77CAB |
{
"itsfoss/warty.nvim",
priority = 1000,
lazy = false,
config = function()
require("warty").setup({
-- your custom options here, or omit for defaults
})
vim.cmd.colorscheme("warty")
end,
}Full warty.lua file you need to add to the ~/.config/nvim/lua/custom/plugins/warty.lua, that include the configuration as well.
return {
{
"itsfoss/warty.nvim",
priority = 1000,
lazy = false,
config = function()
require("warty").setup({
transparent_background = false,
term_colors = true,
dim_inactive = {
enabled = false,
shade = "dark",
percentage = 0.15,
},
styles = {
comments = { "italic" },
conditionals = { "italic" },
loops = {},
functions = {},
keywords = {},
strings = {},
variables = {},
numbers = {},
booleans = { "bold" },
properties = {},
types = {},
operators = {},
},
integrations = {
telescope = true,
treesitter = true,
native_lsp = true,
cmp = true,
gitsigns = true,
nvimtree = true,
neotree = true,
lualine = true,
indent_blankline = true,
which_key = true,
noice = true,
notify = true,
mason = true,
dashboard = true,
bufferline = true,
illuminate = true,
},
custom_highlights = {
-- Override or add any highlight group here.
-- Example:
-- Comment = { fg = "#ff0000", italic = true },
},
})
vim.cmd.colorscheme("warty")
end,
},
}
Note: packer.nvim is no longer actively maintained upstream. lazy.nvim is the recommended installer if you're starting fresh.
use({
"itsfoss/warty.nvim", -- replace with your actual GitHub org/user
config = function()
require("warty").setup()
vim.cmd.colorscheme("warty")
end,
})Unzip/clone the plugin locally, then point lazy.nvim at the folder directly instead of a GitHub path:
{
dir = "~/projects/warty.nvim", -- local path instead of a GitHub string
name = "warty",
priority = 1000,
lazy = false,
config = function()
require("warty").setup()
vim.cmd.colorscheme("warty")
end,
}Or, without any plugin manager, symlink it into Neovim's own package path:
mkdir -p ~/.local/share/nvim/site/pack/local/start
ln -s /path/to/warty.nvim ~/.local/share/nvim/site/pack/local/start/warty.nvimNeovim auto-loads anything under pack/*/start/ on startup, so
:colorscheme warty will work immediately with no extra config.
If you don't need custom options, you can just run:
colorscheme wartyrequire("warty").setup({
transparent_background = false,
term_colors = true,
dim_inactive = {
enabled = false,
shade = "dark",
percentage = 0.15,
},
styles = {
comments = { "italic" },
conditionals = { "italic" },
loops = {},
functions = {},
keywords = {},
strings = {},
variables = {},
numbers = {},
booleans = { "bold" },
properties = {},
types = {},
operators = {},
},
integrations = {
telescope = true,
treesitter = true,
native_lsp = true,
cmp = true,
gitsigns = true,
nvimtree = true,
neotree = true,
lualine = true,
indent_blankline = true,
which_key = true,
noice = true,
notify = true,
mason = true,
dashboard = true,
bufferline = true,
illuminate = true,
},
custom_highlights = {
-- override or add any highlight group
-- Comment = { fg = "#ff0000", italic = true },
},
})require("lualine").setup({
options = {
theme = require("warty.integrations.lualine").get_theme(require("warty").palette),
},
})Full documentation is available inside Neovim:
:help warty| Name | Hex | Role |
|---|---|---|
| base | #300A24 |
Editor background |
| mantle | #280820 |
Statusline / sidebar bg |
| crust | #20061A |
Darkest surface |
| surface0 | #3D1230 |
UI surface |
| surface1 | #4A1A3B |
UI surface (elevated) |
| surface2 | #582347 |
UI surface (highlighted) |
| overlay0 | #6E4560 |
Borders, muted UI |
| overlay1 | #87607A |
Comments |
| overlay2 | #A17C94 |
Muted text |
| subtext0 | #BC9BAE |
Secondary text |
| subtext1 | #D9C4CE |
Primary-ish text |
| text | #F2E9EE |
Foreground |
| rosewater | #F5D9DE |
Accent |
| pink | #E77CAB |
Accent (titles, tags) |
| mauve | #B39DDB |
Keywords |
| red | #EB8A8A |
Errors |
| maroon | #D97C90 |
Accent |
| peach | #F5A97F |
Numbers, constants |
| yellow | #F2D272 |
Types, warnings |
| green | #8FD19E |
Strings, success |
| teal | #7FC8CB |
Hints, regex |
| sky | #8FD1E8 |
Operators |
| blue | #89B4E0 |
Functions, info |
| lavender | #B4BEF0 |
Accent |
MIT