summaryrefslogtreecommitdiff
path: root/lua/config/lazy.lua
diff options
context:
space:
mode:
authorRaymaekers Luca <raymaekers.luca@gmail.com>2024-09-16 18:06:11 +0200
committerRaymaekers Luca <raymaekers.luca@gmail.com>2024-09-16 18:06:14 +0200
commit5c7dffe3782c18e0d47f5753a8c30a0cd1b6e352 (patch)
tree014587936dad9819fdb259fc255daa10e2d80379 /lua/config/lazy.lua
parent7dcd592eae886dc8edde2dc65d6e6323201a2aaf (diff)
checkpoint
- made keybinds more logical with prefixes - renamed user to config - updated to-do's - added rounded borders on floating windows - added vim-eunuch - added telescope-symbols
Diffstat (limited to 'lua/config/lazy.lua')
-rw-r--r--lua/config/lazy.lua188
1 files changed, 188 insertions, 0 deletions
diff --git a/lua/config/lazy.lua b/lua/config/lazy.lua
new file mode 100644
index 0000000..1bdad47
--- /dev/null
+++ b/lua/config/lazy.lua
@@ -0,0 +1,188 @@
+-- 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({
+ -- lsp setup
+ {
+ -- LSP Support
+ "neovim/nvim-lspconfig",
+ -- lsp download manager
+ "williamboman/mason.nvim",
+ -- automatic lsp setup
+ "williamboman/mason-lspconfig.nvim",
+ -- additional formater support
+ "stevearc/conform.nvim",
+ -- additional linter support
+ "mfussenegger/nvim-lint",
+ -- mason autoinstaller for formatter's and linter's
+ "WhoIsSethDaniel/mason-tool-installer.nvim",
+ -- minimal snippet's support
+ "dcampos/nvim-snippy",
+ -- basic snippet's
+ "honza/vim-snippets",
+ -- cmp for autocompletion
+ {
+ "hrsh7th/nvim-cmp",
+ dependencies = {
+ -- cmp nvim-lsp plugin
+ "hrsh7th/cmp-nvim-lsp",
+ -- path comletion
+ "hrsh7th/cmp-path",
+ -- cmp snippy support
+ "dcampos/cmp-snippy",
+ "hrsh7th/cmp-calc",
+ },
+ event = { "InsertEnter", "CmdlineEnter" },
+ },
+ -- kind icons
+ "onsails/lspkind.nvim",
+ -- Minimal neovim modules for a lot of things
+ "echasnovski/mini.nvim",
+ -- Adds git related signs to the gutter, as well as utilities for managing changes
+ "lewis6991/gitsigns.nvim",
+ -- better ntrw
+ "tpope/vim-vinegar",
+ "tpope/vim-eunuch",
+ -- integration with tmux keybinds
+ {
+ "christoomey/vim-tmux-navigator",
+ cmd = {
+ "TmuxNavigateLeft",
+ "TmuxNavigateDown",
+ "TmuxNavigateUp",
+ "TmuxNavigateRight",
+ "TmuxNavigatePrevious",
+ },
+ keys = {
+ { "<M-h>", "<cmd>TmuxNavigateLeft<cr>" },
+ { "<M-j>", "<cmd>TmuxNavigateDown<cr>" },
+ { "<M-k>", "<cmd>TmuxNavigateUp<cr>" },
+ { "<M-l>", "<cmd>TmuxNavigateRight<cr>" },
+ { "<M-\\>", "<cmd>TmuxNavigatePrevious<cr>" },
+ },
+ },
+ -- auto close brackets
+ "m4xshen/autoclose.nvim",
+ },
+ {
+ "ray-x/go.nvim",
+ dependencies = { -- optional packages
+ "ray-x/guihua.lua",
+ "neovim/nvim-lspconfig",
+ "nvim-treesitter/nvim-treesitter",
+ },
+ config = function()
+ require("go").setup()
+ end,
+ event = { "CmdlineEnter" },
+ ft = { "go", "gomod" },
+ build = ':lua require("go.install").update_all_sync()', -- if you need to install/update all binaries
+ },
+
+ "mg979/vim-visual-multi",
+ "jghauser/follow-md-links.nvim",
+
+ {
+ "dstein64/vim-startuptime",
+ cmd = "StartupTime",
+ init = function()
+ vim.g.startuptime_tries = 10
+ end,
+ },
+
+ {
+ "gbprod/nord.nvim",
+ lazy = false,
+ priority = 1000,
+ config = function()
+ require("nord").setup({
+ transparent = false,
+ terminal_colors = true, -- `:terminal`
+ diff = { mode = "bg" },
+ borders = true,
+ -- values : [bg|fg|none]
+ errors = { mode = "bg" },
+ -- values : [vim|vscode]
+ search = { theme = "vim" },
+ styles = {
+ -- `:help nvim_set_hl`
+ comments = { italic = true },
+ keywords = { bold = true },
+ functions = { bold = true },
+ variables = { bold = true },
+ -- To customize lualine/bufferline
+ bufferline = {
+ current = {},
+ modified = { italic = true },
+ },
+ },
+ })
+ vim.cmd.colorscheme("nord")
+ end,
+ },
+
+ -- Fuzzy Finder (files, lsp, etc)
+ {
+ "nvim-telescope/telescope.nvim",
+ dependencies = {
+ "nvim-lua/plenary.nvim",
+ "nvim-telescope/telescope-ui-select.nvim",
+ "nvim-telescope/telescope-symbols.nvim",
+ {
+ "nvim-telescope/telescope-fzf-native.nvim",
+ build = "make",
+ },
+ },
+ },
+
+ {
+ -- Highlight, edit, and navigate code
+ "nvim-treesitter/nvim-treesitter",
+ build = ":TSUpdate",
+ },
+
+ {
+ -- harpoon your way around code
+ {
+ "ThePrimeagen/harpoon",
+ branch = "harpoon2",
+ requires = { "nvim-lua/plenary.nvim", lazy = true },
+ },
+ },
+}, {
+
+ -- lazy options
+ performance = {
+ rtp = {
+ disabled_plugins = {
+ "gzip",
+ "tarPlugin",
+ "tohtml",
+ "tutor",
+ "zipPlugin",
+ },
+ },
+ },
+ install = {
+ colorscheme = { "nord" },
+ missing = false,
+ },
+ change_detection = {
+ enabled = false,
+ notify = false,
+ },
+ checker = { enabled = false },
+ -- defaults = {lazy = true},
+})