94 lines
2.5 KiB
Nix

{icons, ...}: {
plugins.lualine = {
enable = true;
settings = {
options = {
always_divide_middle = true;
globalstatus = true;
ignore_focus = ["neo-tree"];
theme = "auto";
component_separators = {
left = "·";
right = "·";
};
section_separators = {
left = ""; # 
right = ""; # 
};
};
extensions = ["fzf"];
sections = let
mkColor = color: {
__raw = ''function() return MVim.fg("${color}") end'';
};
in {
lualine_a = ["mode"];
lualine_b = ["branch"];
lualine_c = [
{
__unkeyed-1 = "diagnostics";
symbols = {
error = icons.diagnostics.Error;
warn = icons.diagnostics.Warn;
info = icons.diagnostics.Info;
hint = icons.diagnostics.Hint;
};
}
{
__unkeyed-1 = "filetype";
icon_only = true;
separator = {
left = "";
right = "";
};
padding = {
left = 1;
right = 0;
};
}
"filename"
];
lualine_x = [
# Command
{
__unkeyed-1.__raw = ''function() return require("noice").api.status.command.get() end'';
color = mkColor "Statement";
cond.__raw = ''function() return package.loaded["noice"] and require("noice").api.status.command.has() end'';
}
# Mode
{
__unkeyed-1.__raw = ''function() return require("noice").api.status.mode.get() end'';
color = mkColor "Constant";
cond.__raw = ''function() return package.loaded["noice"] and require("noice").api.status.mode.has() end'';
}
];
lualine_y = [
{
__unkeyed-1 = "progress";
separator = {
left = " ";
right = " ";
};
padding = {
left = 1;
right = 1;
};
}
{
__unkeyed-1 = "location";
padding = {
left = 0;
right = 1;
};
}
];
lualine_z = [''" " .. os.date("%I:%M %p"):gsub("0*", "", 1)''];
};
disabled_filetypes = {
statusline = ["dashboard" "alpha" "starter"];
};
};
};
}