Files
tools.nvim/lua/mzpx/core/plugins.lua
T
2026-06-18 17:49:33 +02:00

233 lines
7.8 KiB
Lua
Executable File

local fn = vim.fn
-- ----------------------------------------------------------------------------
-- Automatically install packer
-- ----------------------------------------------------------------------------
local install_path = fn.stdpath "data" .. "/site/pack/packer/start/packer.nvim"
if fn.empty(fn.glob(install_path)) > 0 then
PACKER_BOOTSTRAP = fn.system {
"git",
"clone",
"--depth",
"1",
"https://github.com/wbthomason/packer.nvim",
install_path,
}
print "Installing packer. Close and reopen Neovim..."
vim.cmd [[
packadd packer.nvim
]]
end
-- ----------------------------------------------------------------------------
-- Autocommand that reloads neovim whenever you save the plugins.lua file
-- ----------------------------------------------------------------------------
vim.cmd [[
augroup packer_user_config
autocmd!
autocmd BufWritePost plugins.lua source <afile> | PackerSync
augroup end
]]
-- ----------------------------------------------------------------------------
-- Use a protected call so we don't error out on first use
-- ----------------------------------------------------------------------------
local status, packer = pcall(require, "packer")
if not status then
return
end
-- ----------------------------------------------------------------------------
-- Have packer use a popup window
-- ----------------------------------------------------------------------------
packer.init {
display = {
open_fn = function()
return require("packer.util").float { border = "rounded" }
end,
},
}
-- ----------------------------------------------------------------------------
-- Install plugins
-- ----------------------------------------------------------------------------
return packer.startup(function(use)
-- ------------------------------------------------------
-- Have packer manage itself
-- ------------------------------------------------------
use "wbthomason/packer.nvim"
use "lewis6991/impatient.nvim"
-- ----------------------------------------------------
-- web devicons used by e.g.: nvim-tree, lualine, ...
-- ----------------------------------------------------
use "kyazdani42/nvim-web-devicons"
-- ----------------------------------------------------
-- colorschemas
-- ----------------------------------------------------
use { "bluz71/vim-nightfly-colors", as = "nighfly" }
use { "bluz71/vim-moonfly-colors", as = "moonfly" }
use { "rebelot/kanagawa.nvim", as = "kanagawa"}
-- ----------------------------------------------------
-- lualine (status line)
-- ----------------------------------------------------
use {
"nvim-lualine/lualine.nvim",
config = function()
require( "mzpx.plug.lualine")
end
}
-- --------------------------------------------------------------
-- telescope
-- --------------------------------------------------------------
use {
"nvim-telescope/telescope.nvim",
-- branch = "0.1.x",
branch = "0.1.x",
requires = {
{ "nvim-lua/plenary.nvim"},
{ "nvim-telescope/telescope-media-files.nvim"},
{ "nvim-telescope/telescope-fzy-native.nvim"},
},
config = function()
require( "mzpx.plug.telescope")
end
}
-- ----------------------------------------------------
-- nvim-tree
-- ----------------------------------------------------
use {
"nvim-tree/nvim-tree.lua",
config = function()
require( "mzpx.plug.nvim-tree")
end
}
-- --------------------------------------------------------------
-- autocompletion
-- --------------------------------------------------------------
use {
"hrsh7th/nvim-cmp",
requires = {
"hrsh7th/cmp-nvim-lsp",
"hrsh7th/cmp-nvim-lua",
"hrsh7th/cmp-buffer",
"hrsh7th/cmp-path",
"hrsh7th/cmp-calc",
"saadparwaiz1/cmp_luasnip",
},
config = function()
require( "mzpx.plug.nvim-cmp")
end
}
-- --------------------------------------------------------------
-- autocompletion/snippets
-- --------------------------------------------------------------
use {
"L3MON4D3/LuaSnip", -- Required
"rafamadriz/friendly-snippets", -- Optional
}
-- --------------------------------------------------------------
-- bufferline - mz
-- --------------------------------------------------------------
use {
"akinsho/bufferline.nvim",
tag = "*",
requires = "nvim-tree/nvim-web-devicons",
-- vim.opt.termguicolors = true
config = function()
-- require("bufferline").setup{}
require("mzpx.plug.bufferline")
end
}
-- --------------------------------------------------------------
-- fzf - mz
-- --------------------------------------------------------------
use {
"junegunn/fzf.vim",
requires = { 'junegunn/fzf', run = ':call fzf#install()' }
}
-- --------------------------------------------------------------
-- nvim-treesitter - mz
-- --------------------------------------------------------------
use {
'nvim-treesitter/nvim-treesitter',
branch = "master",
run = ':TSUpdate', -- This automatically updates parsers on install/update
}
-- --------------------------------------------------------------
-- render-markdown - mz
-- --------------------------------------------------------------
use {
"MeanderingProgrammer/render-markdown.nvim",
after = { 'nvim-treesitter' },
-- requires = { 'nvim-mini/mini.nvim', opt = true }, -- if you use the mini.nvim suite
requires = { 'nvim-mini/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
}
-- -------------------------------------------------------------
-- which-key
-- -------------------------------------------------------------
use "folke/which-key.nvim"
-- -------------------------------------------------------------
-- toggle-fullscreen - 2026-05-31
-- -------------------------------------------------------------
-- use {
-- "propet/toggle-fullscreen.nvim",
-- config = function()
-- require('toggle-fullscreen').setup({})
-- end
-- }
--
-- -------------------------------------------------------------
-- maximizer - 2026-05-31
-- -------------------------------------------------------------
use {
"0x00-ketsu/maximizer.nvim",
config = function()
require("maximizer").setup {
-- your configuration comes here
-- or leave it empty to use the default settings
-- refer to the configuration section below
}
end
}
-- -------------------------------------------------------------------
-- Automatically set up your configuration after cloning packer.nvim.
-- Put this at the end after all plugins.
-- -------------------------------------------------------------------
if PACKER_BOOTSTRAP then
require("packer").sync()
end
end)