return {
	{
		'blazkowolf/gruber-darker.nvim',
		lazy = false,
		opts = {
			-- invert = {
			-- 	signs = true,
			-- 	tabline = true,
			-- 	visual = true,
			-- },
		},
	},
	{
		'freddiehaddad/feline.nvim',
		dependencies = {
			'nvim-tree/nvim-web-devicons',
		},
		config = function()
			local feline = require 'feline'
			local utils = require 'config.utils'
			local c = utils.feline_c
			local theme = utils.feline_theme_dark
			-- if l then
			-- 	theme = utils.feline_theme_light
			-- else
			-- 	theme = utils.feline_theme_dark
			-- end
			local vi_mode_colors = utils.feline_vi_mode_colors

			local left = {
				c.vim_mode,
				-- c.gitBranch,
				-- c.gitDiffAdded,
				-- c.gitDiffRemoved,
				-- c.gitDiffChanged,
				c.file_info,
				c.right_separator,
				c.lsp_client_names,
				c.diagnostic_errors,
				c.diagnostic_warnings,
				c.diagnostic_info,
				c.diagnostic_hints,
			}

			-- local middle = {
			-- 	c.separator,
			-- }

			local right = {
				c.file_type,
				c.search_count,
				c.macro,
				c.file_encoding,
				-- c.startup,
				c.line_percentage,
				c.select_count,
				c.position,
			}

			local components = {
				active = {
					left,
					-- middle,
					right,
				},
				inactive = {
					left,
					-- middle,
					right,
				},
			}

			feline.setup {
				components = components,
				theme = theme,
				vi_mode_colors = vi_mode_colors,
			}
		end,
	},
	{
		'rcarriga/nvim-notify',
		lazy = true,
		keys = {
			{
				'<leader>k',
				function()
					require('notify').dismiss()
				end,
				desc = 'dismiss notifications',
			},
		},
		init = function()
			vim.notify = function(...)
				return require 'notify' (...)
			end
		end,
	},
	{
		'stevearc/dressing.nvim',
		lazy = true,
		opts = {
			input = {
				win_options = { winblend = 0 },
			},
		},
		init = function()
			---@diagnostic disable-next-line: duplicate-set-field
			vim.ui.select = function(...)
				require('lazy').load { plugins = { 'dressing.nvim' } }
				return vim.ui.select(...)
			end
			---@diagnostic disable-next-line: duplicate-set-field
			vim.ui.input = function(...)
				require('lazy').load { plugins = { 'dressing.nvim' } }
				return vim.ui.input(...)
			end
		end,
	},
	{
		"lukas-reineke/indent-blankline.nvim",
		event = { "BufReadPost", "BufNewFile" },
		main = "ibl",
		config = function()
			local highlight = {
				"RainbowRed",
				"RainbowYellow",
				"RainbowBlue",
				"RainbowOrange",
				"RainbowGreen",
				"RainbowViolet",
				"RainbowCyan",
			}
			local hooks = require "ibl.hooks"
			-- create the highlight groups in the highlight setup hook, so they are reset
			-- every time the colorscheme changes
			hooks.register(hooks.type.HIGHLIGHT_SETUP, function()
				vim.api.nvim_set_hl(0, "RainbowRed", { fg = "#E06C75" })
				vim.api.nvim_set_hl(0, "RainbowYellow", { fg = "#E5C07B" })
				vim.api.nvim_set_hl(0, "RainbowBlue", { fg = "#61AFEF" })
				vim.api.nvim_set_hl(0, "RainbowOrange", { fg = "#D19A66" })
				vim.api.nvim_set_hl(0, "RainbowGreen", { fg = "#98C379" })
				vim.api.nvim_set_hl(0, "RainbowViolet", { fg = "#C678DD" })
				vim.api.nvim_set_hl(0, "RainbowCyan", { fg = "#56B6C2" })
			end)

			vim.g.rainbow_delimiters = { highlight = highlight }
			require("ibl").setup { scope = { highlight = highlight, show_start = false, show_end = false } }

			hooks.register(hooks.type.SCOPE_HIGHLIGHT, hooks.builtin.scope_highlight_from_extmark)
		end
	},
}
