local ensure_packer = function()
local fn = vim.fn
local install_path = fn.stdpath(âdataâ)âŚâ/site/pack/packer/start/packer.nvimâ
if fn.empty(fn.glob(install_path)) > 0 then
fn.system({âgitâ, âcloneâ, ââdepthâ, â1â, âGitHub - wbthomason/packer.nvim: A use-package inspired plugin manager for Neovim. Uses native packages, supports Luarocks dependencies, written in Lua, allows for expressive configâ, install_path})
vim.cmd [[packadd packer.nvim]]
return true
end
return false
end
local packer_bootstrap = ensure_packer()
return require(âpackerâ).startup(function(use)
â Packer can manage itself
use âwbthomason/packer.nvimâ
use {
ânvim-telescope/telescope.nvimâ, tag = â0.1.2â,
â or , branch = â0.1.xâ,
requires = { {ânvim-lua/plenary.nvimâ} }
}
use({
ârose-pine/neovimâ,
as = ârose-pineâ,
config = function()
vim.cmd(âcolorscheme rose-pineâ)
end
})
use {
ânvim-lualine/lualine.nvimâ,
requires = { ânvim-tree/nvim-web-deviconsâ, opt = true }
}
use {
âwindwp/nvim-autopairsâ,
wants = ânvim-treesitterâ,
module = { ânvim-autopairs.completion.cmpâ, ânvim-autopairsâ },
config = function()
require(âconfig.autopairsâ).setup()
end,
}
use({
âL3MON4D3/LuaSnipâ,
â follow latest release.
tag = âv2.*â, â Replace by the latest released major (first number of latest release)
â install jsregexp (optional!:).
run = âmake install_jsregexpâ
})
use (âmg979/vim-visual-multiâ)
use (âfolke/zen-mode.nvimâ)
use (âfolke/twilight.nvimâ)
use (ânvim-treesitter/nvim-treesitterâ, {run = â:TSUpdateâ})
use (ânvim-treesitter/playgroundâ)
use (âtheprimeagen/harpoonâ)
use (âmbbill/undotreeâ)
use {
ânvim-neorg/neorgâ,
config = function()
require(âneorgâ).setup {
load = {
[âcore.defaultsâ] = {},
[âcore.concealerâ] = {},
[âcore.autocommandsâ] = {},
[âcore.qol.tocâ] = {
config = {
close_after_use = true
},
},
[âcore.integrations.treesitterâ] = {},
[âcore.completionâ] = {
config = {
engine = ânvim-cmpâ
},
},
[âcore.exportâ] = {},
[âcore.dirmanâ] = {
config = {
workspaces = {
latex = â~/Notizen/latexâ,
notizen = â~/Notizenâ,
jyotish = â~/Notizen/jyotishâ,
linux = â~/Notizen/linuxâ,
neovim = â~/Notizen/neovimâ,
},
default_workspace = ânotizenâ,
},
},
},
}
end,
run = â:Neorg sync-parsersâ,
requires = ânvim-lua/plenary.nvimâ,
}
use {
âVonHeikemen/lsp-zero.nvimâ,
requires = {
â LSP Support
{âneovim/nvim-lspconfigâ}, â Required
{âwilliamboman/mason.nvimâ},
{âwilliamboman/mason-lspconfig.nvimâ},
-- Autocompletion
{'hrsh7th/nvim-cmp'},
{'hrsh7th/cmp-buffer'},
{'hrsh7th/cmp-cmdline'},
{'hrsh7th/cmp-path'},
{'saadparwaiz1/cmp_luasnip'},
{'hrsh7th/cmp-nvim-lsp'},
{'hrsh7th/cmp-nvim-lua'},
-- Snippets
{'L3MON4D3/LuaSnip'}, -- Required
-- {'rafamadriz/friendly-snippets'}
}
}
use {
ânvim-tree/nvim-tree.luaâ,
requires = {
ânvim-tree/nvim-web-deviconsâ â optional
}
,}
if packer_bootstrap then
require(âpackerâ).sync()
end
end)