A minimal dark colorscheme that you can actually read at a glance.
ocean-dweller · lake-dweller · pond-dweller
- Neovim >= 0.8.0
termguicolorsenabled- nvim-treesitter (recommended for full syntax highlighting)
{
"yonatanperel/lake-dweller.nvim",
lazy = false,
priority = 1000,
config = function()
require("lake-dweller").setup({
variant = "lake-dweller", -- "lake-dweller", "pond-dweller", or "ocean-dweller"
})
vim.cmd.colorscheme("lake-dweller")
end,
}require("lake-dweller").setup({
variant = "lake-dweller", -- "lake-dweller", "pond-dweller", or "ocean-dweller"
transparent = false, -- enable transparent background
italics = true, -- enable italic text
float_background = false, -- distinct background for floating windows
})Additional theme files for other applications are in the extras/ directory:
- WezTerm:
extras/wezterm/lake-dweller.toml,pond-dweller.toml,ocean-dweller.toml - Ghostty:
extras/ghostty/lake-dweller,pond-dweller,ocean-dweller - Alacritty:
extras/alacritty/lake-dweller.toml,pond-dweller.toml,ocean-dweller.toml
require("lualine").setup({
options = {
theme = require("lualine.themes.lake-dweller"),
},
})lake-dweller
pond-dweller
ocean-dweller
- nvim-treesitter
- lualine.nvim
- nvim-cmp
- Telescope
- fzf-lua
- Oil.nvim
- Trouble.nvim
- which-key.nvim
- Snacks.nvim
- nvim-notify
- gitsigns.nvim
- noice.nvim
- blink.cmp
- lazy.nvim
- indent-blankline.nvim
- mini.nvim
- flash.nvim
- neo-tree.nvim
This theme makes some opinionated decisions based on the following principles:
Only use distinct colors for specific, common elements—so you can tell at a glance what you're looking at:
- Functions
- Types
- Keywords
- Constant values—numbers, booleans, strings, nulls, etc. Strings can use slightly different shades for clarity.
- Comments
Keywords are the most repetitive part of code and therefore the easiest to read quickly—you don't really need them to stand out.
You should not neglect your comments. They should pop out immediately, while being easy to distinguish from actual code.
MIT























