Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

warty.nvim

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.

Preview

warty-nvim.mp4
Background Text Accent
#300A24 #F2E9EE #E77CAB

Installation

lazy.nvim

{
  "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,
  },
}

packer.nvim

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,
})

Local testing (no GitHub required)

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.nvim

Neovim auto-loads anything under pack/*/start/ on startup, so :colorscheme warty will work immediately with no extra config.

Usage without a setup call

If you don't need custom options, you can just run:

colorscheme warty

Configuration

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
    -- Comment = { fg = "#ff0000", italic = true },
  },
})

Lualine

require("lualine").setup({
  options = {
    theme = require("warty.integrations.lualine").get_theme(require("warty").palette),
  },
})

Help docs

Full documentation is available inside Neovim:

:help warty

Palette

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

License

MIT

About

A sleek, modern Neovim colorscheme based on Ubuntu's terminal color schemes.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages