return { -- winbar { "utilyre/barbecue.nvim", name = "barbecue", version = "*", dependencies = { "SmiteshP/nvim-navic", "nvim-tree/nvim-web-devicons", -- optional dependency }, config = function() require("barbecue").setup { create_autocmd = false, -- prevent barbecue from updating itself automatically theme = vim.g.hardhacker_barbecue_theme, } vim.api.nvim_create_autocmd({ "WinScrolled", -- or WinResized on NVIM-v0.9 and higher "BufWinEnter", "CursorHold", "InsertLeave", -- include this if you have set `show_modified` to `true` "BufModifiedSet", }, { group = vim.api.nvim_create_augroup("barbecue.updater", {}), callback = function() require("barbecue.ui").update() end, }) end, }, -- Status line { "nvim-lualine/lualine.nvim", dependencies = { "nvim-tree/nvim-web-devicons", opt = true }, config = function() require "plugins/lualine/config"() end, }, -- File explorer { "nvim-neo-tree/neo-tree.nvim", branch = "v2.x", dependencies = { "nvim-lua/plenary.nvim", "nvim-tree/nvim-web-devicons", -- not strictly required, but recommended "MunifTanjim/nui.nvim", }, config = function() require "plugins/neo-tree/config"() end, }, -- Outline { "stevearc/aerial.nvim", opts = {}, -- Optional dependencies dependencies = { "nvim-treesitter/nvim-treesitter", "nvim-tree/nvim-web-devicons", }, config = function() require("aerial").setup { lazy_load = false, open_automatic = require("custom_opts").auto_open_outline, } end, }, -- Tab line { "akinsho/bufferline.nvim", version = "v4.1.0", dependencies = "nvim-tree/nvim-web-devicons", config = function() require "plugins/bufferline/config"() end, }, -- cmd line { "folke/noice.nvim", dependencies = { "MunifTanjim/nui.nvim", "rcarriga/nvim-notify", }, config = function() require "plugins/noice/config"() end, }, -- Improve the ui { "stevearc/dressing.nvim", opts = {}, }, }