{ lib, ... }:
{
  programs.nvf.settings.vim.statusline = {
    lualine = {
      enable = true;
      activeSection = {
        a = lib.mkForce [
          ''
            {
              "mode",
              icons_enabled = true,
              separator = {
                left = "",
                right = ""
              },
            }
          ''
          ''
            {
              "",
              draw_empty = true,
              separator = { left = '', right = '' }
            }
          ''
        ];
        b = lib.mkForce [
          ''
            {
              "filetype",
              colored = true,
              icon_only = true,
              icon = { align = 'left' }
            }
          ''
          ''
            {
              "filename",
              symbols = {modified = ' ', readonly = ' '},
              separator = { left = '', right = ''}
            }
          ''
          ''
            {
              "",
              draw_empty = true,
              separator = { left = '', right = '' }
            }
          ''
        ];
        c = lib.mkForce [
          # lua
          ''
             {
                "diff",
                colored = false,
                diff_color = {
                  -- Same color values as the general color option can be used here.
                  added    = 'DiffAdd',    -- Changes the diff's added color
                  modified = 'DiffChange', -- Changes the diff's modified color
                  removed  = 'DiffDelete', -- Changes the diff's removed color you
                },
                symbols = {added = '+', modified = '~', removed = '-'}, -- Changes the diff symbols
                separator = {right = ''}
            }
          ''
        ];
        x = lib.mkForce [
          # lua
          ''
            {
              -- Lsp server name
              function()
                local buf_ft = vim.bo.filetype
                local excluded_buf_ft = { toggleterm = true, NvimTree = true, ["neo-tree"] = true, TelescopePrompt = true }

                if excluded_buf_ft[buf_ft] then
                  return ""
                  end

                local bufnr = vim.api.nvim_get_current_buf()
                local clients = vim.lsp.get_clients({ bufnr = bufnr })

                if vim.tbl_isempty(clients) then
                  return "No Active LSP"
                end

                local active_clients = {}
                for _, client in ipairs(clients) do
                  table.insert(active_clients, client.name)
                end

                return table.concat(active_clients, ", ")
              end,
              icon = ' ',
              separator = {left = ''},
            }
          ''
          # lua
          ''
            {
              -- Recording Status
              function()
                local reg = vim.fn.reg_recording()
                if reg == "" then return "" end
                return "@" .. reg
              end,
            }
          ''
          # lua
          ''
            {
              "diagnostics",
              sources = {'nvim_lsp', 'nvim_diagnostic', 'nvim_diagnostic', 'vim_lsp', 'coc'},
              symbols = {error = '󰅙  ', warn = '  ', info = '  ', hint = '󰌵 '},
              colored = true,
              update_in_insert = false,
              always_visible = false,
              diagnostics_color = {
                color_error = { fg = 'red' },
                color_warn = { fg = 'yellow' },
                color_info = { fg = 'cyan' },
              },
            }
          ''
        ];
        y = lib.mkForce [
          ''
            {
              "",
              draw_empty = true,
              separator = { left = '', right = '' }
            }
          ''
          ''
            {
              'searchcount',
              maxcount = 999,
              timeout = 120,
              separator = {left = ''}
            }
          ''
          ''
            {
              "branch",
              icon = ' •',
              separator = {left = ''}
            }
          ''
        ];
        z = lib.mkForce [
          ''
            {
              "",
              draw_empty = true,
              separator = { left = '', right = '' }
            }
          ''
          ''
            {
              "progress",
              separator = {left = ''}
            }
          ''
          ''
            {"location"}
          ''
          ''
            {
              "fileformat",
              color = {fg='black'},
              symbols = {
                unix = '', -- e843
                dos = '',  -- e70f
                mac = '',  -- e711
              }
            }
          ''
        ];
      };
      componentSeparator = {
        left = "";
        right = "";
      };
      sectionSeparator = {
        left = "";
        right = "";
      };
    };
  };
}
