81 lines
3.9 KiB
Lua
81 lines
3.9 KiB
Lua
-- 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,
|
|
}
|
|
|