A cozy colorscheme inspired by the painting "Fishing by Torchlight in Kai Province" by Katsushika Hokusai. Hokusai lived between 1760 and 1849 and likely painted this painting around 1833.
This colorscheme adopts the natural pallette of "Fishing by Torchlight in Kai Province" and thus uses a minimal amount of blue hues. This makes it friendly on the eyes, especially at night.
Supported plugins include nvim-treesitter, lualine.nvim, nvim-tree, neo-tree.nvim, telescope.nvim, nvim-cmp, nvim-notify, lazy.nvim, gitsigns.nvim, neogit, nvim-dap-ui, dashboard-nvim, avante.nvim, and snacks.nvim. Many more will work just fine with the default highlight groups. See lua/torchlight/groups for the plugin-specific highlight definitions.
If you use a plugin that is not supported or looks incorrect when using this colorscheme, please open an issue or pull request.
Install with your favorite plugin manager. See Variants for the palettes and Contrast for the contrast levels.
{
"skylarmb/torchlight.nvim",
lazy = false,
priority = 1000,
opts = {
contrast = "hard", -- available: soft, medium, hard, stark
palette = "torchlight", -- available: dusk, torchlight, dawn
},
},LazyVim
LazyVim runs :colorscheme after the plugin is set up, and :colorscheme torchlight selects the default palette. To use a specific palette, you must name it in colorscheme instead of in opts. Contrast is not
affected either way and should still be set in opts.
-- lua/plugins/colorscheme.lua
{
"skylarmb/torchlight.nvim",
lazy = false,
priority = 1000,
opts = {
contrast = "hard", -- available: soft, medium, hard, stark
},
},
{
"LazyVim/LazyVim",
opts = {
colorscheme = "torchlight", -- available: torchlight-dusk, torchlight, torchlight-dawn
},
},pckr.nvim
require("pckr").add({
{
"skylarmb/torchlight.nvim",
config = function()
require("torchlight").setup({
contrast = "hard", -- available: soft, medium, hard, stark
palette = "torchlight", -- available: dusk, torchlight, dawn
})
end,
},
})Torchlight has three available color palettes. All palettes stay true to my original goal of providing a low-blue theme that is friendly on the eyes. Dusk and Dawn palettes are deterministically derived using HSLuv color ramps, so they are exact mathematical transforms of the base palette.
| Palette | :colorscheme |
Description |
|---|---|---|
torchlight |
torchlight |
Cozy, hand-picked colors |
dusk |
torchlight-dusk |
Deep and warm variant |
dawn |
torchlight-dawn |
Pale and cool variant |
Select one with the palette option in opts or by name:
colorscheme torchlight-duskFour levels of contrast are available, set via the contrast option. hard is the default.
soft is deprecated. It's contrast is too low to be readable in many scenarios, so I decided to abandon it. It still works and will keep working, but I no longer fix bugs for it or really test it locally when reviewing changes. Use medium for the closest supported look.
Palettes run light to dark left to right, contrast levels light to dark top to bottom.
dawn |
torchlight |
dusk |
|
|---|---|---|---|
soft (deprecated) |
![]() |
![]() |
![]() |
medium |
![]() |
![]() |
![]() |
hard (default) |
![]() |
![]() |
![]() |
stark |
![]() |
![]() |
![]() |
The ./extras folder holds ports of the palette for other tools. Current ports cover Alacritty, WezTerm, Ghostty, and Zed. Other ports are welcome. Not every palette and contrast level is ported to every port, but doing so should just be copying a few hex values. PRs welcome.
no-clown-fiesta.nvimfor the overall plugin source structurekanagawa.nvimfor the Hokusai inspirationgruvbox.nvimfor the general color<->highlight mapping











