---@type LazySpec
return {
    {
        "folke/tokyonight.nvim",
        lazy = true,
        opts = {
            style = "night",
            on_colors = function(c)
                c.border = c.bg_highlight
                c.border_highlight = c.blue
            end,
            on_highlights = function(hl, _)
                hl.CurSearch = nil
            end,
        },
    },
    {
        "folke/noice.nvim",
        opts = {
            cmdline = {
                view = "cmdline",
                presets = {
                    command_palette = false,
                },
            },
        },
    },
    {
        "nvimdev/dashboard-nvim",
        opts = function(_, opts)
            local center = Config.ui.buttons
            local banners = Config.ui.banners
            for _, button in ipairs(center) do
                button.desc = button.desc .. string.rep(" ", 43 - #button.desc)
                button.key_format = "  %s"
            end
            math.randomseed(os.time())
            local banner = "\n" .. banners[math.random(#banners)] .. "\n"
            opts.config.header = vim.split(banner, "\n")
            opts.config.center = center
            opts.config.footer = function()
                local stats = require("lazy").stats()
                local ms = (math.floor(stats.startuptime * 100 + 0.5) / 100)
                return { "Behold: a Snail's Vim | " .. stats.count .. "  " .. ms .. "ms" }
            end
        end,
    },
    {
        "echasnovski/mini.indentscope",
        opts = {
            draw = {
                animation = require("mini.indentscope").gen_animation.none(),
            },
        },
    },
    {
        "nvim-lualine/lualine.nvim",
        opts = {
            sections = {
                lualine_y = {
                    {
                        function()
                            --stylua: ignore
                            local chars = { "", "", "", "", "", "", "", "", "", "", "", "", "" }
                            return chars[math.ceil(vim.fn.line(".") / vim.fn.line("$") * #chars)]
                        end,
                        separator = " ",
                        padding = { left = 1, right = 0 },
                    },
                    { "location", padding = { left = 0, right = 1 } },
                },
                lualine_z = {
                    {
                        "o:encoding",
                        fmt = string.upper,
                        separator = " ",
                        padding = { left = 1, right = 0 },
                    },
                    { "fileformat", padding = { left = 0, right = 1 } },
                },
            },
        },
    },
}