-- River Rooks nvim config -- /init.lua -- This file is the first thing nvim renderes on boot. -- from here we tell it to load the options and keybinds files, as well as bootstrap Lazy, our plugin manager -- execute the following files in the /lua directory require('options') require('keybinds') require("config.lazy") -- now that we have loaded our basic settings and started lazy, we need to configure lazy to our liking require("lazy").setup({ spec = { -- execute all files is /lua/plugins -- this is where I put plugins with more complex setups { import = "plugins" }, -- import the following list of plugins -- this is where i put plugins with minial settings { "karb94/neoscroll.nvim", --Smooth Scrolling 'fei6409/log-highlight.nvim', -- generic log syntax highlighting 'stevearc/conform.nvim', --auto formats certain text 'tpope/vim-commentary', -- commenting lines with shortcut 'vigoux/ltex-ls.nvim', -- grammer checking -- 'vimpostor/vim-tpipeline', -- integrate with tmux status-line 'kshenoy/vim-signature', -- tag lines 'mg979/vim-visual-multi', -- work on multiple lines at once 'obsidian-nvim/obsidian.nvim', -- Obsidian lsp plugin '0xm4n/resize.nvim', -- adds commands to resize panes 'nvim-tree/nvim-web-devicons', -- nerdfont! 'TamaMcGlinn/vim-termhere', --simple terminal QOL 'smjonas/inc-rename.nvim', --lsp plugin for renaming variable 'basola21/PDFview', -- rendering pdfs in nvim 'rcarriga/nvim-notify', -- notification manager { "m4xshen/hardtime.nvim", lazy = false, dependencies = { "MunifTanjim/nui.nvim" }}, --annoying { "nvzone/typr", dependencies = "nvzone/volt", cmd = { "Typr", "TyprStats" }, }, --typing practice { 'nvim-telescope/telescope.nvim', tag = 'v0.2.0', dependencies = { 'nvim-lua/plenary.nvim', 'BurntSushi/ripgrep', 'sharkdp/fd' } }, -- fuzyfinding over lists { 'norcalli/nvim-colorizer.lua', config = function() require('colorizer').setup{"*"} end,}, -- preview colors { 'NMAC427/guess-indent.nvim', config = function() require('guess-indent').setup {} end,}, -- Detect tabstop and shiftwidth automatically { 'edluffy/hologram.nvim', auto_display = true,}, --image viewer { "denialofsandwich/sudo.nvim", dependencies = { "MunifTanjim/nui.nvim", },config = true, }, --write restricted files without restart { 'akinsho/toggleterm.nvim', version = "*", config = true}, -- terminal toggling and commands { 'nvim-java/nvim-java', config = function() require('java').setup() vim.lsp.enable('jdtls') end, }, --java QOL -- disable matugen if not using noctalia shell { 'RRethy/base16-nvim', config = function() require('matugen').setup() end,}, --colorshceme for noctalia integration { "lervag/vimtex", lazy = false, init = function() vim.g.vimtex_view_method = "zathura" end }, -- for latex editing { 'windwp/nvim-autopairs', event = "InsertEnter", config = true }, { "folke/ts-comments.nvim", event = "VeryLazy", }, -- qol for commenting { "marcinjahn/gemini-cli.nvim", cmd = "Gemini", dependencies = { "folke/snacks.nvim", }, config = true, }, { "cenk1cenk2/jq.nvim", dependencies = { "nvim-lua/plenary.nvim", "MunifTanjim/nui.nvim", "grapp-dev/nui-components.nvim", }, } }, }, -- Configure any other settings here. See the documentation for more details. -- colorscheme that will be used when installing plugins before loaded the matugen plugin for desktop colorscheme. install = { colorscheme = { "miniautumn" } }, -- automatically check for plugin updates checker = { enabled = false }, }) -- sync nvim colorscheme with noctalia local theme_ok, matugen = pcall(require, "matugen") if theme_ok then matugen.setup() end -- load lsp and bufferline plugins require("config.lsp") -- render bufferline require("bufferline").setup{} -- optimize keypresses -- require("hardtime").setup() --fix notifications vim.notify = require("notify") -- jq setup require("jq").setup() -- require("jq").run({ -- --- you can pass additional options to configure the current instance -- -- if you want to toggle from the memory -- toggle = true, -- -- commands for the instance else it will use the default -- -- the default command would be the first one in the table -- commands = { -- { -- -- command to be run -- command = "jq", -- -- filetype of the output -- filetype = "json", -- -- hidden arguments that will not be shown in the ui -- arguments = "-r" -- }, -- }, -- -- arguments to start with in the ui -- arguments = "", -- -- query to start with, if not provided it will use the default -- query = ".", -- }) -- -- bind undotree -- -- TODO fix the require file not found when in keybinds.lua -- vim.cmd("packadd nvim.undotree") -- vim.keymap.set("n", "u", require("undotree").open) -- undotree