{ pkgs, config, lib, ... }: { plugins.lualine = { enable = true; settings = { sections = { lualine_a = [ "" "mode" ]; lualine_b = [ "branch" "diff" ]; lualine_c = [ { __unkeyed-1 = "filetype"; icon_only = true; } "filename" "diagnostics" { __unkeyed-1 = "lsp_progress"; display_components = [ "lsp_client_name" [ "title" "percentage" "message" ] ]; colors = { use = true; lsp_client_name = lib.nixvim.mkRaw "colors.sapphire"; percentage = lib.nixvim.mkRaw "colors.blue"; spinner = lib.nixvim.mkRaw "colors.blue"; title = lib.nixvim.mkRaw "colors.subtext1"; message = lib.nixvim.mkRaw "colors.subtext0"; }; } ]; lualine_x = [ "" ]; lualine_y = [ "encoding" "fileformat" ]; lualine_z = [ "progress" ]; }; winbar = { lualine_x = [ { __unkeyed-1 = "filename"; path = 1; } { __unkeyed-1 = "filetype"; icon_only = true; } ]; }; inactive_winbar = { lualine_x = [ "diagnostics" { __unkeyed-1 = "filename"; path = 1; } { __unkeyed-1 = "filetype"; icon_only = true; } ]; }; extensions = [ "fugitive" "lazy" "man" "neo-tree" "nvim-dap-ui" "quickfix" ]; options = { theme = "catppuccin"; component_separators = { left = ""; right = ""; }; section_separators = { left = ""; right = ""; }; }; disabled_filetypes = { statusline = [ ]; winbar = [ "help" "lazy" "neo-tree" "dapui_stacks" "dapui_watches" "dapui_breakpoints" "dapui_scopes" "dapui_console" "dap-repl" "fugitive" ]; }; }; }; extraPlugins = with pkgs.vimPlugins; [ lualine-lsp-progress ]; }