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 | 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" } -- ---------------------------------------------------- -- lualine (status line) -- ---------------------------------------------------- use { "nvim-lualine/lualine.nvim", config = function() require( "roka.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( "roka.plug.telescope") end } -- ---------------------------------------------------- -- nvim-tree -- ---------------------------------------------------- use { "nvim-tree/nvim-tree.lua", config = function() require( "roka.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( "roka.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("roka.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)