dotfiles/nvim/.config/nvim/lua/plugins/init.lua

186 lines
4.1 KiB
Lua

return {
--------------------
-- LSP
--------------------
{ "williamboman/mason.nvim" },
{ "williamboman/mason-lspconfig.nvim" },
{ 'neovim/nvim-lspconfig' },
{ 'hrsh7th/cmp-nvim-lsp' },
{ 'hrsh7th/cmp-nvim-lua' },
{ 'hrsh7th/cmp-buffer' },
{ 'hrsh7th/cmp-path' },
{ 'hrsh7th/nvim-cmp' },
{ 'saadparwaiz1/cmp_luasnip' },
-- Linter
{ 'jose-elias-alvarez/null-ls.nvim',
config = function()
local nls = require("null-ls")
nls.setup({
sources = {
nls.builtins.formatting.black,
},
})
end,
},
-- Debugging
{ 'mfussenegger/nvim-dap' },
{ 'rcarriga/nvim-dap-ui', config = true },
{ "mfussenegger/nvim-dap-python" },
{ "theHamsta/nvim-dap-virtual-text", config = true },
--------------------
-- Color schemes
--------------------
{ "glepnir/oceanic-material" },
{ "savq/melange-nvim" },
{ 'ayu-theme/ayu-vim' },
-- { 'morhetz/gruvbox' },
{ 'ellisonleao/gruvbox.nvim' },
{ 'jacoborus/tender.vim' },
{ 'jpo/vim-railscasts-theme' },
{ 'rainux/vim-desert-warm-256' },
{ 'ajmwagar/vim-deus' },
{ "rebelot/kanagawa.nvim" },
--------------------
-- Utility
--------------------
-- Git
{ 'kdheepak/lazygit.nvim' },
{ 'lewis6991/gitsigns.nvim', config = {
signs = {
add = { hl = 'GitSignsAdd', text = '+', numhl = 'GitSignsAddNr', linehl = 'GitSignsAddLn' },
change = { hl = 'GitSignsChange', text = '', numhl = 'GitSignsChangeNr', linehl = 'GitSignsChangeLn' },
delete = { hl = 'GitSignsDelete', text = '-', numhl = 'GitSignsDeleteNr', linehl = 'GitSignsDeleteLn' },
topdelete = { hl = 'GitSignsDelete', text = '', numhl = 'GitSignsDeleteNr', linehl = 'GitSignsDeleteLn' },
changedelete = { hl = 'GitSignsChange', text = '~', numhl = 'GitSignsChangeNr', linehl = 'GitSignsChangeLn' },
untracked = { hl = 'GitSignsAdd', text = '', numhl = 'GitSignsAddNr', linehl = 'GitSignsAddLn' },
},
current_line_blame = true,
show_deleted = true,
}
},
-- Sessions
{ "tpope/vim-obsession" },
-- SuperTab
{ 'ervandew/supertab' },
-- Vim-surround
{ 'tpope/vim-surround' },
-- Slime, for tmux repl-ing
{ 'jpalardy/vim-slime' },
-- Telescope, fuzzy finding
{ 'nvim-lua/plenary.nvim' },
{ 'nvim-telescope/telescope.nvim' },
{ 'nvim-telescope/telescope-fzf-native.nvim', build = 'make' },
{ "nvim-telescope/telescope-file-browser.nvim" },
-- Treesitter
{ 'nvim-treesitter/nvim-treesitter', build = ':TSUpdate' },
-- Registry history
{
"AckslD/nvim-neoclip.lua",
dependencies = {
{ 'kkharji/sqlite.lua', module = 'sqlite' },
{ 'nvim-telescope/telescope.nvim' },
},
config = {
enable_persistent_history = true,
continuous_sync = true
},
},
-- Auto pairs
{ "windwp/nvim-autopairs", config = true }, -- See `config` under https://github.com/folke/lazy.nvim#-plugin-spec
-- Comment / uncomment
{ "numToStr/Comment.nvim", config = true },
-- Git Repo Telescope
{ 'cljoly/telescope-repo.nvim' },
-- Which-Key
{
"folke/which-key.nvim",
config = true,
},
-- File Explorer
{
"nvim-neo-tree/neo-tree.nvim",
branch = "v2.x",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-tree/nvim-web-devicons", -- not strictly required, but recommended
"MunifTanjim/nui.nvim",
},
},
-- Object Explorer
{ 'simrat39/symbols-outline.nvim',
config = {
auto_preview = true,
}
},
-- Terminal
{ 'akinsho/toggleterm.nvim',
version = "*",
config = {
open_mapping = [[<c-\>]],
direction = 'horizontal'
}
},
--------------------
-- Aesthetics
--------------------
-- status line
{ 'nvim-lualine/lualine.nvim' },
-- Devicons
{ 'nvim-tree/nvim-web-devicons' },
-- Indent lines
{ "lukas-reineke/indent-blankline.nvim" },
-- Cursor line
{ 'yamatsum/nvim-cursorline',
config =
{
cursorline = {
enable = true,
timeout = 0,
number = true,
},
cursorword = {
enable = false,
}
}
},
-- Greeter
{
'goolord/alpha-nvim',
dependencies = { 'nvim-tree/nvim-web-devicons' },
-- config = function(},
-- require 'alpha'.setup(require 'alpha.themes.startify'.config},
-- end
},
-- Scroll bar
-- { 'petertriho/nvim-scrollbar', config = true },
}