init.lua/lua/crony/lazy.lua
2023-12-24 12:06:23 +01:00

151 lines
3.5 KiB
Lua

-- bootstraping
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable", -- latest stable release
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
-- plugins installation and configuration
require('lazy').setup({
-- Git plugins
'tpope/vim-fugitive',
{
'VonHeikemen/lsp-zero.nvim',
branch = 'v1.x',
dependencies = {
-- LSP Support
{ 'neovim/nvim-lspconfig' },
{ 'williamboman/mason.nvim' },
{ 'williamboman/mason-lspconfig.nvim' },
-- Autocompletion
{ 'hrsh7th/nvim-cmp' },
{ 'hrsh7th/cmp-buffer' },
{ 'hrsh7th/cmp-path' },
{ 'saadparwaiz1/cmp_luasnip' },
{ 'hrsh7th/cmp-nvim-lsp' },
{ 'hrsh7th/cmp-nvim-lua' },
-- Snippets
{ 'L3MON4D3/LuaSnip' },
{ 'rafamadriz/friendly-snippets' },
-- Nice lsp info
{ 'j-hui/fidget.nvim', opts = {} },
-- Additional neovim docs
'folke/neodev.nvim',
opts = {},
}
},
-- Emacs which key but in a much nicer form
{ 'folke/which-key.nvim', opts = {} },
{
-- Adds git related signs to the gutter, as well as utilities for managing changes
'lewis6991/gitsigns.nvim',
},
{
-- Catppuccin, the best pastell color scheme
"catppuccin/nvim",
name = "catppuccin",
priority = 1000,
},
{
-- Set lualine as statusline
'nvim-lualine/lualine.nvim',
-- See `:help lualine.txt`
opts = {
options = {
icons_enabled = false,
theme = 'catppuccin',
component_separators = '|',
section_separators = '',
},
},
},
{
-- show indent line
'lukas-reineke/indent-blankline.nvim',
},
-- highlight indentscope
"echasnovski/mini.indentscope",
-- "gc" to comment visual regions/lines
{ 'numToStr/Comment.nvim', opts = {} },
-- Fuzzy Finder (files, lsp, etc)
{
'nvim-telescope/telescope.nvim',
branch = '0.1.x',
dependencies = {
'nvim-lua/plenary.nvim',
},
},
{
-- Highlight, edit, and navigate code
'nvim-treesitter/nvim-treesitter',
build = ':TSUpdate',
},
{
-- netrw on crack
'stevearc/oil.nvim',
opts = {
},
-- Optional dependencies
dependencies = { "nvim-tree/nvim-web-devicons" },
},
{
-- harpoon your way around code
{
"ThePrimeagen/harpoon",
branch = "harpoon2",
requires = { "nvim-lua/plenary.nvim " }
}
},
"NvChad/nvim-colorizer.lua",
{
"stevearc/dressing.nvim",
opts = {
input = { default_prompt = "" },
select = { backend = { "telescope", "builtin" } },
},
},
-- nice tmux integration
'christoomey/vim-tmux-navigator',
-- smart autopairs
'windwp/nvim-autopairs',
{
-- nicer notification's
'rcarriga/nvim-notify',
config = function()
vim.notify = require("notify")
end
},
-- markdown editing super powered
'jakewvincent/mkdnflow.nvim',
}, {})