return {
  "nvim-lualine/lualine.nvim",
  dependencies = { "nvim-tree/nvim-web-devicons" },
  config = function()
    local lualine = require("lualine")
    local lazy_status = require("lazy.status") -- to configure lazy pending updates count

    local colors = {
      green = "#98971a", -- gruvbox green
      blue = "#458588", -- gruvbox blue
      purple = "#b16286", -- gruvbox purple
      yellow = "#fabd2f", -- gruvbox yellow
      red = "#cc241d", -- gruvbox red
      fg = "#fbf1c7", -- gruvbox fg0
      -- bg = "#3c3836", -- gruvbox medium
      bg = "#1D2021", -- gruvbox dark
      -- inactive_bg = "#d65d0e", -- gruvbox orange
      inactive_bg = "#202323", -- gruvbox gray
    }

    local my_lualine_theme = {
      normal = {
        a = { bg = colors.green, fg = colors.bg, gui = "italic" },
        b = { bg = colors.bg, fg = colors.fg },
        c = { bg = colors.bg, fg = colors.fg },
      },
      insert = {
        a = { bg = colors.blue, fg = colors.bg, gui = "italic" },
        b = { bg = colors.bg, fg = colors.fg },
        c = { bg = colors.bg, fg = colors.fg },
      },
      visual = {
        a = { bg = colors.red, fg = colors.bg, gui = "italic" },
        b = { bg = colors.bg, fg = colors.fg },
        c = { bg = colors.bg, fg = colors.fg },
      },
      command = {
        a = { bg = colors.purple, fg = colors.bg, gui = "italic" },
        b = { bg = colors.bg, fg = colors.fg },
        c = { bg = colors.bg, fg = colors.fg },
      },
      replace = {
        a = { bg = colors.yellow, fg = colors.bg, gui = "italic" },
        b = { bg = colors.bg, fg = colors.fg },
        c = { bg = colors.bg, fg = colors.fg },
      },
      inactive = {
        a = { bg = colors.inactive_bg, fg = colors.semilightgray, gui = "bold" },
        b = { bg = colors.inactive_bg, fg = colors.semilightgray },
        c = { bg = colors.inactive_bg, fg = colors.semilightgray },
      },
    }

    -- configure lualine with modified theme
    lualine.setup({
      options = {
        theme = my_lualine_theme,
      },
      sections = {
        lualine_x = {
          {
            lazy_status.updates,
            cond = lazy_status.has_updates,
            color = { fg = "#ff9e64" },
          },
          { "encoding" },
          { "fileformat" },
          { "filetype" },
        },
      },
    })
  end,
}
