-- Bootstrap lazy.nvim local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" if not (vim.uv or vim.loop).fs_stat(lazypath) then local lazyrepo = "https://github.com/folke/lazy.nvim.git" local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) if vim.v.shell_error ~= 0 then vim.api.nvim_echo({ { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, { out, "WarningMsg" }, { "\nPress any key to exit..." }, }, true, {}) vim.fn.getchar() os.exit(1) end end vim.opt.rtp:prepend(lazypath) -- Set leader keys before loading plugins vim.g.mapleader = " " vim.g.maplocalleader = "\\" -- Setup lazy.nvim with LazyVim require("lazy").setup({ spec = { -- Import LazyVim and its plugins { "LazyVim/LazyVim", import = "lazyvim.plugins", opts = { colorscheme = "tokyonight", }, }, -- Import LazyVim extras for languages { import = "lazyvim.plugins.extras.lang.go" }, { import = "lazyvim.plugins.extras.lang.json" }, { import = "lazyvim.plugins.extras.lang.yaml" }, { import = "lazyvim.plugins.extras.lang.markdown" }, { import = "lazyvim.plugins.extras.lang.typescript" }, { import = "lazyvim.plugins.extras.lang.tailwind" }, -- DAP for debugging { import = "lazyvim.plugins.extras.dap.core" }, -- Import custom plugins { import = "plugins" }, }, defaults = { lazy = false, version = false, }, install = { colorscheme = { "tokyonight", "habamax" } }, checker = { enabled = true, notify = false, }, performance = { rtp = { disabled_plugins = { "gzip", "tarPlugin", "tohtml", "tutor", "zipPlugin", }, }, }, }) -- Load custom config require("config.options") require("config.keymaps") require("config.autocmds")