Files
dotfiles/nvim/lua/kickstart/plugins/_init.lua
2026-03-12 12:35:37 +05:30

134 lines
4.7 KiB
Lua

-- [[ Install `lazy.nvim` plugin manager ]]
-- See `:help lazy.nvim.txt` or https://github.com/folke/lazy.nvim for more info
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
error("Error cloning lazy.nvim:\n" .. out)
end
end ---@diagnostic disable-next-line: undefined-field
vim.opt.rtp:prepend(lazypath)
-- [[ Configure and install plugins ]]
--
-- NOTE: Here is where you install your plugins.
require("lazy").setup({
-- NOTE: Plugins can be added with a link (or for a github repo: 'owner/repo' link).
-- You can easily change to a different colorscheme.
-- Change the name of the colorscheme plugin below, and then
-- change the command in the config to whatever the name of that colorscheme is.
--
-- If you want to see what colorschemes are already installed, you can use `:Telescope colorscheme`.
--
{
-- `lazydev` configures Lua LSP for your Neovim config, runtime and plugins
-- used for completion, annotations and signatures of Neovim apis
"folke/lazydev.nvim",
ft = "lua",
opts = {
library = {
-- Load luvit types when the `vim.uv` word is found
{ path = "luvit-meta/library", words = { "vim%.uv" } },
},
},
},
require("kickstart.plugins.nv"),
-- or just use Telescope themes
require("kickstart.plugins.nvterm"), -- nvim terminal
require("kickstart.plugins.gitsigns"), -- git signs
require("kickstart.plugins.oil"), -- file browser
require("kickstart.plugins.which-key"), -- key map help
require("kickstart.plugins.lspconfig"), -- language server
require("kickstart.plugins.transparent"), -- for transparency
-- require("kickstart.plugins.noice"), -- for search and command line prompt
require("kickstart.plugins.fzf-lua"), -- for fzf search
require("kickstart.plugins.auto-session"),
require("kickstart.plugins.conform"),
require("kickstart.plugins.cmp"),
require("kickstart.plugins.copilot_chat"),
require("kickstart.plugins.comment"),
require("kickstart.plugins.telescope"),
require("kickstart.plugins.indent_line"),
require("kickstart.plugins.lint"),
require("kickstart.plugins.autopairs"),
require("kickstart.plugins.treesitter"),
require("kickstart.plugins.trouble"),
require("kickstart.plugins.gitsigns"), -- adds gitsigns recommend keymaps
require("kickstart.plugins.todo-comment"), -- Highlight todo, notes, etc in comments
-- require("kickstart.plugins.mini"),
require("kickstart.plugins.other"),
require("kickstart.plugins.undotree"),
require("kickstart.plugins.colorizer"),
require("kickstart.plugins.harpoon"),
{
"chentoast/marks.nvim",
config = function()
require("marks").setup({
default_mappings = true,
})
end,
},
{
"junegunn/seoul256.vim"
},
-- NOTE: Plugins can also be added by using a table,
-- with the first argument being the link and the following
-- keys can be used to configure plugin behavior/loading/etc.
--
-- Use `opts = {}` to force a plugin to be loaded.
--
-- Here is a more advanced example where we pass configuration
-- options to `gitsigns.nvim`. This is equivalent to the following Lua:
-- require('gitsigns').setup({ ... })
--
-- See `:help gitsigns` to understand what the configuration keys do
-- NOTE: Plugins can also be configured to run Lua code when they are loaded.
--
-- This is often very useful to both group configuration, as well as handle
-- lazy loading plugins that don't need to be loaded immediately at startup.
--
-- For example, in the following configuration, we use:
-- event = 'VimEnter'
--
-- which loads which-key before all the UI elements are loaded. Events can be
-- normal autocommands events (`:help autocmd-events`).
--
-- Then, because we use the `config` key, the configuration only runs
-- after the plugin has been loaded:
-- config = function() ... end
-- NOTE: Plugins can specify dependencies.
--
-- The dependencies are proper plugin specifications as well - anything
-- you do for a plugin at the top level, you can do for a dependency.
--
-- Use the `dependencies` key to specify the dependencies of a particular plugin
-- require 'kickstart.plugins.debug',
}, {
ui = {
-- If you are using a Nerd Font: set icons to an empty table which will use the
-- default lazy.nvim defined Nerd Font icons, otherwise define a unicode icons table
icons = vim.g.have_nerd_font and {} or {
cmd = "",
config = "🛠",
event = "📅",
ft = "📂",
init = "",
keys = "🗝",
plugin = "🔌",
runtime = "💻",
require = "🌙",
source = "📄",
start = "🚀",
task = "📌",
lazy = "💤 ",
},
},
})