Overview
Manages all external extensions, ensures their automatic installation (Bootstrap), and keeps them updated in the background (Checker).
-- 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.notify("Failed to clone lazy.nvim:\n" .. out, vim.log.levels.ERROR)
vim.fn.getchar()
os.exit(1)
end
end
vim.opt.rtp:prepend(lazypath)
-- Plugin Setup
require("lazy").setup({
spec = {
-- MDVim plugins
{ import = "plugins.treesitter" },
{ import = "plugins.screensaver" },
{ import = "plugins.mdcanvas" },
{ import = "plugins.fugitive" },
{ import = "plugins.flash" },
{ import = "plugins.pomo" },
{ import = "plugins.img-clip" },
{ import = "plugins.snacks" },
{ import = "plugins.obsidian" },
{ import = "plugins.todo" },
{ import = "plugins.easytables" },
{ import = "plugins.vim-autoread" },
{ import = "plugins.render-markdown" },
{ import = "plugins.which-key" },
{ import = "plugins.footnote" },
{ import = "plugins.pencil" },
{ import = "plugins.vim-markdown" },
{ import = "plugins.cmp" },
{ import = "plugins.cmp-rg" },
{ import = "plugins.stay-centered" },
{ import = "plugins.lualine" },
{ import = "plugins.yazi" },
{ import = "plugins.telescope" },
-- Own Plugins
{ import = "plugins.glossator-nvim" },
{ import = "plugins.ltqf" },
{ import = "plugins.md-toc" },
{ import = "plugins.recollect" },
{ import = "plugins.sioyek-highlights" },
{ import = "plugins.bibman" },
{ import = "plugins.hmw" },
{ import = "plugins.toce" },
{ import = "plugins.md2pdf" },
{ import = "plugins.prose-analyzer" },
{ import = "plugins.citation-nvim" },
{ import = "plugins.weblink_reader" },
-- Personal Setup
{ import = "plugins.kitty-scrollback" },
{ import = "plugins.neopywal" },
},
checker = {
enabled = true, -- automatically checks for plugin updates in the background.
notify = false, -- does it silently
},
})