94 lines
2.3 KiB
Nix

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