statusline/lualine: avoid hardcoding config options

This commit is contained in:
raf 2024-01-26 21:16:56 +03:00
commit f94e6e12ec
No known key found for this signature in database
GPG key ID: 02D1DD3FA08B6B29
3 changed files with 52 additions and 10 deletions

View file

@ -24,11 +24,13 @@ in {
description = "Refresh rate for lualine";
default = 1000;
};
tabline = mkOption {
type = types.int;
description = "Refresh rate for tabline";
default = 1000;
};
winbar = mkOption {
type = types.int;
description = "Refresh rate for winbar";
@ -42,6 +44,27 @@ in {
default = true;
};
alwaysDivideMiddle = mkOption {
type = types.bool;
description = "Always divide middle section";
default = true;
};
disabledFiletypes = mkOption {
type = with types; listOf str;
description = "Filetypes to disable lualine on";
default = ["alpha"];
};
ignoreFocus = mkOption {
type = with types; listOf str;
default = ["NvimTree"];
description = ''
If current filetype is in this list it'll always be drawn as inactive statusline
and the last window will be drawn as active statusline.
'';
};
theme = let
themeSupported = elem config.vim.theme.name supported_themes;
in
@ -175,6 +198,9 @@ in {
bg='${colorPuccin}',
fg='lavender'
},
separator = {
right = ''
},
}
''
];
@ -220,6 +246,9 @@ in {
end,
icon = ' ',
color = {bg='${colorPuccin}', fg='lavender'},
separator = {
left = '',
},
}
''
''