Files
dotfiles/nvim/lua/plugins.lua
2025-05-30 23:30:44 +02:00

183 lines
5.2 KiB
Lua

# vim:fileencoding=utf-8:foldmethod=marker
vim.cmd [[packadd packer.nvim]]
require('packer').startup(function(use)
-- {{{ Packer manages itself
use 'wbthomason/packer.nvim' -- Packer manages itself
-- }}}
-- {{{ VIM AutoSave
use({
'okuuva/auto-save.nvim',
tag = 'v1*',
config = function()
require('auto-save').setup({
-- your config goes here
-- or just leave it empty :)
})
end,
})
-- }}}
-- {{{ Nvim-Tree
use {
'nvim-tree/nvim-tree.lua',
config = function()
require('plugins.nvim-tree').setup()
end,
}
-- }}}
-- {{{ Themes
use 'gruvbox-community/gruvbox' -- Gruvbox theme
use 'folke/tokyonight.nvim' -- Tokyo Night theme
-- }}}
-- {{{ Treesitter
use {
'nvim-treesitter/nvim-treesitter',
run = ':TSUpdate' -- Keep parsers up to date
}
require('plugins.treesitter')
-- }}}
-- {{{ Rainbow Delimiters
use 'HiPhish/rainbow-delimiters.nvim'
require('plugins.rainbow_delimiters')
-- }}}
-- {{{ Git Integration
use 'lewis6991/gitsigns.nvim' -- Git decorations in the gutter
use 'tpope/vim-fugitive' -- Git commands in Neovim
-- }}}
-- {{{ Status Line
use {
'nvim-lualine/lualine.nvim',
requires = { 'kyazdani42/nvim-web-devicons', opt = true } -- Optional icons
}
require('plugins.lualine')
-- Override background transparency with custom highlights
vim.cmd [[
highlight lualine_a_normal guibg=NONE
highlight lualine_b_normal guibg=NONE
highlight lualine_c_normal guibg=NONE
]]
-- }}}
-- {{{ HardTime
use {
'm4xshen/hardtime.nvim',
requires = { 'MunifTanjim/nui.nvim' }
}
-- }}}
-- {{{ FZF
use {
'junegunn/fzf',
run = function() vim.fn['fzf#install']() end
}
use 'junegunn/fzf.vim'
-- }}}
-- {{{ Productivity
use 'numToStr/Comment.nvim'
use 'windwp/nvim-autopairs'
use 'tpope/vim-surround'
-- }}}
-- {{{ LaTeX
use 'lervag/vimtex'
require('plugins.vimtex')
-- }}}
-- -- {{{ Outline
-- use {
-- 'hedyhli/outline.nvim',
-- config = function()
-- require('plugins.outline').setup()
-- end
-- }
-- }}}
-- {{{ Org-Mode
use {'nvim-orgmode/orgmode', config = function()
require('orgmode').setup{}
end
}
--}}}
-- {{{ Telescope
use {
'nvim-telescope/telescope.nvim',
requires = { {'nvim-lua/plenary.nvim'} },
config = function()
-- Leader key mappings for Telescope
vim.api.nvim_set_keymap('n', '<leader>ff', ':Telescope find_files<CR>'
, { noremap = true, silent = true })
vim.api.nvim_set_keymap('n', '<leader>fg', ':Telescope live_grep<CR>',
{ noremap = true, silent = true })
vim.api.nvim_set_keymap('n', '<leader>fb', ':Telescope buffers<CR>', {
noremap = true, silent = true })
vim.api.nvim_set_keymap('n', '<leader>fh', ':Telescope help_tags<CR>',
{ noremap = true, silent = true })
end
}
-- }}}
-- Yazi.nvim {{{
use({
"mikavilpas/yazi.nvim",
config = function()
require("yazi").setup({
open_for_directories = false,
keymaps = {
show_help = "<F1>",
},
})
end,
})
--- }}}
-- Hop.nvim {{{
use {
'phaazon/hop.nvim',
branch = 'v2', -- optional but strongly recommended
config = function()
-- you can configure Hop the way you like here; see :h hop-config
require'hop'.setup { keys = 'etovxqpdygfblzhckisuran' }
end
}
-- }}}
-- nvim.cmp {{{
use {
'hrsh7th/nvim-cmp',
requires = {
'hrsh7th/cmp-buffer', -- Buffer completions
'hrsh7th/cmp-path', -- Path completions
'hrsh7th/cmp-nvim-lsp', -- LSP completions
'hrsh7th/cmp-nvim-lua', -- Neovim API completions
'saadparwaiz1/cmp_luasnip', -- Snippet completions
'L3MON4D3/LuaSnip', -- Snippet engine
'rafamadriz/friendly-snippets', -- Predefined snippets
'evesdropper/luasnip-latex-snippets.nvim'
}
}
-- }}}
-- Markdown {{{
use 'SidOfc/mkdx'
use({
'MeanderingProgrammer/render-markdown.nvim',
after = { 'nvim-treesitter' },
-- requires = { 'echasnovski/mini.nvim', opt = true }, -- if you use the mini.nvim suite
requires = { 'echasnovski/mini.icons', opt = true }, -- if you use standalone mini plugins
-- requires = { 'nvim-tree/nvim-web-devicons', opt = true }, -- if you prefer nvim-web-devicons
config = function()
require('render-markdown').setup({})
end,
})
-- }}}
-- Code Formatting {{{
use({
"nvimtools/none-ls.nvim",
config = function()
requires = { "nvim-lua/plenary.nvim" },
require("plugins.prettier")
end,
})
-- }}}
-- Zotero Integration (deactivated){{{
-- use {
-- 'jalvesaq/zotcite',
-- requires = {
-- 'vim-pandoc/vim-pandoc',
-- 'vim-pandoc/vim-pandoc-syntax'
-- }
-- }}}
end)