nix-config/modules/nixvim/statusline.nix
2026-02-20 10:05:28 +01:00

97 lines
2.8 KiB
Nix

{
plugins.lualine = {
enable = true;
settings = {
options = {
theme = {
__raw = "winterly_lualine";
};
icons_enabled = false;
component_separators = {
left = "|";
right = "|";
};
section_separators = {
left = "";
right = "";
};
};
sections = {
lualine_a = [
{
__unkeyed-1 = "mode";
fmt = {
__raw = "function(str) return str:sub(1, 1) end";
};
}
];
lualine_b = [
{
__unkeyed-1 = "filename";
file_status = true;
newfile_status = false;
path = 1;
shorting_target = 120;
symbols = {
modified = "[+]";
readonly = "[-]";
unnamed = "[No Name]";
newfile = "[New]";
};
}
"encoding"
];
lualine_c = [ ];
lualine_x = [ ];
lualine_y = [
"branch"
"diff"
"diagnostics"
];
lualine_z = [
"location"
"progress"
];
};
};
# Sets up my custom colorscheme
luaConfig.pre = /* lua */ ''
local palette = require("dnsc.palette")
local winterly_lualine = {
normal = {
a = { bg = palette.magenta, fg = palette.bg, gui = "bold" },
b = { bg = palette.bg_secondary, fg = palette.magenta },
c = { bg = palette.bg_secondary, fg = palette.magenta },
},
insert = {
a = { bg = palette.cyan_bright, fg = palette.bg, gui = "bold" },
b = { bg = palette.bg_secondary, fg = palette.cyan_bright },
c = { bg = palette.bg_secondary, fg = palette.cyan_bright },
},
visual = {
a = { bg = palette.blue_bright, fg = palette.bg, gui = "bold" },
b = { bg = palette.bg_secondary, fg = palette.blue_bright },
c = { bg = palette.bg_secondary, fg = palette.blue_bright },
},
replace = {
a = { bg = palette.red_bright, fg = palette.bg, gui = "bold" },
b = { bg = palette.bg_secondary, fg = palette.red_bright },
c = { bg = palette.bg_secondary, fg = palette.red_bright },
},
command = {
a = { bg = palette.green_bright, fg = palette.bg, gui = "bold" },
b = { bg = palette.bg_secondary, fg = palette.green_bright },
c = { bg = palette.bg_secondary, fg = palette.green_bright },
},
inactive = {
a = { bg = palette.bg_secondary, fg = palette.fg_dim },
b = { bg = palette.bg_secondary, fg = palette.fg_dim },
c = { bg = palette.bg_secondary, fg = palette.fg_dim },
},
}
'';
};
}