hitaishi2222/imli-nvim

Neovim colorsheme from me.

Lua

2

3 commits

updated Oct 7, 2026

See the code

See what people are saying

SourceMessageScoreDate

My First colorsheme - Imli (r/neovim)

Its perfect for me, that doesn't mean it will be perfect for you.. Try it out. Give me feedbacks. I would like to improve this more.. Or if you have issues. Please let me know.

3

Oct 7, 2026

README

imli.nvim

imli.nvim

A warm ember & coffee colorscheme for Neovim.
Dark & light variants · Treesitter & LSP · warm on the eyes during late nights.


Features

  • Two hand-tuned variants — a warm dark (#0b1418 base) and a cream-paper light
  • Treesitter-first — full coverage for the common captures, plus LSP semantic token overrides
  • UI consistency — statusline, tabline (with clear active/inactive separation), popups, diagnostics, which-key, mini.icons
  • Configurable comments — adjust comment opacity and italics to taste
  • Per-filetype overrides — winhighlight-based, no glitch
  • Terminal colors — sets all 16 terminal slots to match the palette

Requirements

  • Neovim 0.9+ (uses nvim_set_hl)
  • termguicolors enabled (set automatically by the colorscheme)
  • The native vim.pack install method below additionally requires Neovim 0.12+

Installation

lazy.nvim

{
  "your-github-username/imli-nvim",
  lazy = false,
  priority = 1000,
  config = function()
    require("imli").setup({
      -- your options here
    })
    vim.cmd("colorscheme imli")
  end,
}

Native vim.pack (Neovim 0.12+)

No plugin manager needed — Neovim's built-in package manager:

-- init.lua
vim.pack.add({
  "https://github.com/your-github-username/imli-nvim",
  -- or the table form:
  -- { src = "https://github.com/your-github-username/imli-nvim", name = "imli" },
})

require("imli").setup()
vim.cmd("colorscheme imli")

That's it — the plugin is cloned on first use and tracked in the lockfile (vim.pack-lockfile). Useful commands:

ActionCommand
Update all pluginsvim.pack.update()
Update one pluginvim.pack.update({ "imli" })
Remove a pluginvim.pack.del({ "imli" })
List installedvim.pack.get()

Lazy loading with vim.pack — add with load = false, then packadd on demand:

vim.pack.add({ src = "https://github.com/your-github-username/imli-nvim", load = false })

-- later, when you want it:
vim.cmd.packadd("imli")
require("imli").setup()
vim.cmd("colorscheme imli")

packer.nvim

use {
  "your-github-username/imli-nvim",
  config = function()
    require("imli").setup()
    vim.cmd("colorscheme imli")
  end,
}

vim-plug

Plug 'your-github-username/imli-nvim'
-- in init.lua:
require("imli").setup()
vim.cmd("colorscheme imli")

Configuration

All options are optional — require("imli").setup() with no arguments uses the defaults below.

require("imli").setup({
  -- Italicize comments
  italic_comments = true,

  -- Comment visibility: 0.1 (barely visible) .. 1.0 (full color)
  comment_opacity = 1.0,

  -- Per-filetype highlight overrides (winhighlight-based).
  -- nil = use the built-in defaults from imli.filetypes.
  -- Pass your own table to override or extend:
  filetypes = nil,
  -- filetypes = {
  --   python = {
  --     ["@keyword"] = { fg = "#b48ead", bold = true },
  --     ["@function.call"] = { fg = "#9564DD" },
  --   },
  --   lua = {
  --     ["@keyword"] = { fg = "#b48ead", bold = true },
  --   },
  -- },
})

Then load it:

vim.cmd("colorscheme imli")

Full example (lazy.nvim)

{
  "your-github-username/imli-nvim",
  lazy = false,
  priority = 1000,
  config = function()
    require("imli").setup({
      italic_comments = true,
      comment_opacity  = 0.8,   -- slightly dimmer comments
      filetypes        = nil,  -- built-in python/lua overrides
    })
    vim.cmd("colorscheme imli")
  end,
}

Palette

Dark

RoleHexSwatch
bg#0b1418bg
bg_alt#101a20bg_alt
fg#e8e0d4fg
fg_dim#5c6b7afg_dim
comment#64737fcomment
red#e06c60red
orange#d99a5borange
yellow#d8b96ayellow
green#a3b86bgreen
cyan#6fb3a8cyan
blue#5b9dffblue
purple#b48eadpurple
magenta#c97b8amagenta
selection#2a3a44selection
border#606676border

Light

RoleHexSwatch
bg#e7dfd2bg
bg_alt#f2ede4bg_alt
fg#4a4238fg
fg_dim#8b97a5fg_dim
comment#77838fcomment
red#b4463cred
orange#a8641forange
yellow#8a6d1fyellow
green#5e7a2fgreen
cyan#2f7a70cyan
blue#2f6fd0blue
purple#7e5a8epurple
magenta#a35262magenta
selection#dcd2bfselection
border#c2b6a2border

Supported Plugins / UI

License

MIT

hitaishi2222/imli-nvim

Neovim colorsheme from me.

Lua

2

3 commits

updated Oct 7, 2026

See the code

See what people are saying

SourceMessageScoreDate

My First colorsheme - Imli (r/neovim)

Its perfect for me, that doesn't mean it will be perfect for you.. Try it out. Give me feedbacks. I would like to improve this more.. Or if you have issues. Please let me know.

3

Oct 7, 2026

README

imli.nvim

imli.nvim

A warm ember & coffee colorscheme for Neovim.
Dark & light variants · Treesitter & LSP · warm on the eyes during late nights.


Features

  • Two hand-tuned variants — a warm dark (#0b1418 base) and a cream-paper light
  • Treesitter-first — full coverage for the common captures, plus LSP semantic token overrides
  • UI consistency — statusline, tabline (with clear active/inactive separation), popups, diagnostics, which-key, mini.icons
  • Configurable comments — adjust comment opacity and italics to taste
  • Per-filetype overrides — winhighlight-based, no glitch
  • Terminal colors — sets all 16 terminal slots to match the palette

Requirements

  • Neovim 0.9+ (uses nvim_set_hl)
  • termguicolors enabled (set automatically by the colorscheme)
  • The native vim.pack install method below additionally requires Neovim 0.12+

Installation

lazy.nvim

{
  "your-github-username/imli-nvim",
  lazy = false,
  priority = 1000,
  config = function()
    require("imli").setup({
      -- your options here
    })
    vim.cmd("colorscheme imli")
  end,
}

Native vim.pack (Neovim 0.12+)

No plugin manager needed — Neovim's built-in package manager:

-- init.lua
vim.pack.add({
  "https://github.com/your-github-username/imli-nvim",
  -- or the table form:
  -- { src = "https://github.com/your-github-username/imli-nvim", name = "imli" },
})

require("imli").setup()
vim.cmd("colorscheme imli")

That's it — the plugin is cloned on first use and tracked in the lockfile (vim.pack-lockfile). Useful commands:

ActionCommand
Update all pluginsvim.pack.update()
Update one pluginvim.pack.update({ "imli" })
Remove a pluginvim.pack.del({ "imli" })
List installedvim.pack.get()

Lazy loading with vim.pack — add with load = false, then packadd on demand:

vim.pack.add({ src = "https://github.com/your-github-username/imli-nvim", load = false })

-- later, when you want it:
vim.cmd.packadd("imli")
require("imli").setup()
vim.cmd("colorscheme imli")

packer.nvim

use {
  "your-github-username/imli-nvim",
  config = function()
    require("imli").setup()
    vim.cmd("colorscheme imli")
  end,
}

vim-plug

Plug 'your-github-username/imli-nvim'
-- in init.lua:
require("imli").setup()
vim.cmd("colorscheme imli")

Configuration

All options are optional — require("imli").setup() with no arguments uses the defaults below.

require("imli").setup({
  -- Italicize comments
  italic_comments = true,

  -- Comment visibility: 0.1 (barely visible) .. 1.0 (full color)
  comment_opacity = 1.0,

  -- Per-filetype highlight overrides (winhighlight-based).
  -- nil = use the built-in defaults from imli.filetypes.
  -- Pass your own table to override or extend:
  filetypes = nil,
  -- filetypes = {
  --   python = {
  --     ["@keyword"] = { fg = "#b48ead", bold = true },
  --     ["@function.call"] = { fg = "#9564DD" },
  --   },
  --   lua = {
  --     ["@keyword"] = { fg = "#b48ead", bold = true },
  --   },
  -- },
})

Then load it:

vim.cmd("colorscheme imli")

Full example (lazy.nvim)

{
  "your-github-username/imli-nvim",
  lazy = false,
  priority = 1000,
  config = function()
    require("imli").setup({
      italic_comments = true,
      comment_opacity  = 0.8,   -- slightly dimmer comments
      filetypes        = nil,  -- built-in python/lua overrides
    })
    vim.cmd("colorscheme imli")
  end,
}

Palette

Dark

RoleHexSwatch
bg#0b1418bg
bg_alt#101a20bg_alt
fg#e8e0d4fg
fg_dim#5c6b7afg_dim
comment#64737fcomment
red#e06c60red
orange#d99a5borange
yellow#d8b96ayellow
green#a3b86bgreen
cyan#6fb3a8cyan
blue#5b9dffblue
purple#b48eadpurple
magenta#c97b8amagenta
selection#2a3a44selection
border#606676border

Light

RoleHexSwatch
bg#e7dfd2bg
bg_alt#f2ede4bg_alt
fg#4a4238fg
fg_dim#8b97a5fg_dim
comment#77838fcomment
red#b4463cred
orange#a8641forange
yellow#8a6d1fyellow
green#5e7a2fgreen
cyan#2f7a70cyan
blue#2f6fd0blue
purple#7e5a8epurple
magenta#a35262magenta
selection#dcd2bfselection
border#c2b6a2border

Supported Plugins / UI

License

MIT