-- 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 { 'RaafatTurki/hex.nvim', '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 { '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, }, --jave 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, }, }, }, -- 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 = true }, }) -- 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{} -- defaults require 'hex'.setup { -- cli command used to dump hex data dump_cmd = 'xxd -g 1 -u', -- cli command used to assemble from hex data assemble_cmd = 'xxd -r', -- function that runs on BufReadPre to determine if it's binary or not is_file_binary_pre_read = function() -- logic that determines if a buffer contains binary data or not -- must return a bool end, -- function that runs on BufReadPost to determine if it's binary or not is_file_binary_post_read = function() -- logic that determines if a buffer contains binary data or not -- must return a bool end, }