---@module "config.lazy" --- This module bootstraps Lazy.nvim. --- Lazy is a plugin manager for Neovim. -- ╭─────────────────────────────────────────────────────────╮ -- │ Lazy │ -- ╰─────────────────────────────────────────────────────────╯ local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" if not vim.uv.fs_stat(lazypath) then -- stylua: ignore vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath }) end vim.opt.rtp:prepend(vim.env.LAZY or lazypath) -- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ PLUGINS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ local plugin_specs = { { "LazyVim/LazyVim", -- LazyVim import = "lazyvim.plugins", -- LazyVim Core Plugins }, { import = "plugins" }, -- General Plugins } -- Automatically import all subdirectories of `lua/plugins` local plugin_dirs = vim.fn.glob("~/.config/nvim/lua/plugins/*", true, true) for _, dir in ipairs(plugin_dirs) do if vim.fn.isdirectory(dir) == 1 then table.insert( -- Add directory to the plugin import table plugin_specs, { import = "plugins." .. vim.fn.fnamemodify(dir, ":t") } ) end end require("lazy").setup({ spec = plugin_specs, defaults = { lazy = false, version = false, event = "VeryLazy", }, checker = { enabled = true }, performance = { rtp = { reset = false, disabled_plugins = require("data.types").lazy.disabled_plugins, }, }, profiling = { loader = true, require = true, }, ui = { border = "rounded", title = " Plugin Manager ", }, })