local fn = vim.fn local function system(command) local file = assert(io.popen(command, 'r')) local output = file:read('*all'):gsub("%s+", "") file:close() return output end vim.g.localaded_python3_provider = system("which python3") -- ------------------------------------------------------------------------------------------------ -- 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 | 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) vim.tbl_islist = vim.islist -- -------------------------------------------------------------------------------------------- -- 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 run = "make install_jsregexp" } -- -------------------------------------------------------------------------------------------- -- 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)