lualine.nvim is a fast and configurable status line plugin for Neovim. Aquavium.nvim provides a dedicated lualine theme and automatically sets it as the active theme whenever lualine is detected.
Automatic setup
When you call require("Aquavium").setup(), Aquavium.nvim checks whether lualine is already loaded. If it is, the theme is applied inside a vim.schedule callback without any action on your part:
-- From lua/Aquavium/init.lua
local function apply_lualine()
if not package.loaded["lualine"] then
return
end
vim.schedule(function()
local ok, lualine = pcall(require, "lualine")
if not ok then return end
local config = lualine.get_config() or {}
config.options = config.options or {}
config.options.theme = "Aquavium"
package.loaded["lualine.themes.Aquavium"] = nil
lualine.setup(config)
lualine.refresh()
end)
end
The function reloads the theme module (package.loaded["lualine.themes.Aquavium"] = nil) before calling lualine.setup so that any color changes from a previous setup() call are picked up correctly.
If you configure lualine manually in your own setup code, you do not need to set the theme yourself — Aquavium.nvim handles it automatically as long as lualine loads before or alongside Aquavium.nvim.
Manual theme setup
If you prefer to set the theme explicitly in your lualine config, use the theme name "Aquavium":
require("lualine").setup({
options = {
theme = "Aquavium",
},
})
Mode color mapping
The Aquavium lualine theme (defined in lua/lualine/themes/Aquavium.lua) maps each Vim mode to a distinct palette color for the a section of the status line:
| Mode | Color |
|---|
| Normal | lightblue |
| Insert | purple |
| Visual | yellow |
| Replace | pink |
| Inactive | gray |
The b and c sections of the normal mode bar use the full foreground color (fg) on bg2 and bg1 respectively. When the transparent option is enabled, background colors for b and c sections are omitted so the terminal background shows through.
The bold option you pass to require("Aquavium").setup() is forwarded to the lualine theme as the gui = "bold" attribute on each mode’s a section.
Installation
-- lazy.nvim
{
"T-b-t-nchos/Aquavium.nvim",
lazy = false,
priority = 1000,
config = function()
require("Aquavium").setup()
vim.cmd("colorscheme Aquavium")
end,
},
{
"nvim-lualine/lualine.nvim",
dependencies = { "nvim-tree/nvim-web-devicons" },
config = function()
require("lualine").setup()
-- No theme option needed — Aquavium.nvim sets it automatically
end,
},