diff --git a/packages/nvim/default.nix b/packages/nvim/default.nix index 4d386c3..721ea06 100644 --- a/packages/nvim/default.nix +++ b/packages/nvim/default.nix @@ -2,7 +2,9 @@ { home.packages = with pkgs; [ - + lua-language-server + nil + ripgrep ]; programs.neovim = { @@ -31,6 +33,10 @@ programs.neovim.plugins = [ # ".config/nvim/lua/plugins/lazydev.lua".source = ./lua/plugins/lazydev.lua; ".config/nvim/lua/plugins/lualine.lua".source = ./lua/plugins/lualine.lua; ".config/nvim/lua/plugins/whichkey.lua".source = ./lua/plugins/whichkey.lua; + ".config/nvim/lua/plugins/trouble.lua".source = ./lua/plugins/trouble.lua; + ".config/nvim/lua/plugins/dap.lua".source = ./lua/plugins/dap.lua; + ".config/nvim/lua/plugins/blankline.lua".source = ./lua/plugins/blankline.lua; + ".config/nvim/lua/plugins/rustaceanvim.lua".source = ./lua/plugins/rustaceanvim.lua; } ]; } diff --git a/packages/nvim/init.lua b/packages/nvim/init.lua index a15d968..da30bc0 100644 --- a/packages/nvim/init.lua +++ b/packages/nvim/init.lua @@ -31,9 +31,6 @@ vim.keymap.set('n', '', ':resize +2', opts) vim.keymap.set('n', '', ':vertical resize -2', opts) vim.keymap.set('n', '', ':vertical resize +2', opts) --- Telescope binds -vim.keymap.set("n", "fb", ":Telescope file_browser") - vim.keymap.set('i', 'jk', '', opts) @@ -63,7 +60,6 @@ vim.cmd.colorscheme "catppuccin" - -- lsp local on_attach = function(_, bufnr) @@ -99,7 +95,7 @@ require('lspconfig').lua_ls.setup { root_dir = function() return vim.loop.cwd() end, - cmd = { "lua-lsp" }, + cmd = { "lua-language-server" }, settings = { Lua = { workspace = { checkThirdParty = false }, @@ -113,7 +109,48 @@ require('lspconfig').nil_ls.setup { capabilities = capabilities, } -require('lspconfig').rust_analyzer.setup { +--[[ require('lspconfig').rust_analyzer.setup { on_attach = on_attach, capabilities = capabilities, -} +} ]] + + + +-- Plugin setups +require('lualine').setup() +require("dapui").setup() +require("ibl").setup() + +local dap, dapui = require("dap"), require("dapui") +dap.listeners.before.attach.dapui_config = function() + dapui.open() +end +dap.listeners.before.launch.dapui_config = function() + dapui.open() +end +dap.listeners.before.event_terminated.dapui_config = function() + dapui.close() +end +dap.listeners.before.event_exited.dapui_config = function() + dapui.close() +end + +local builtin = require('telescope.builtin') +-- Telescope binds +vim.keymap.set('n', 'ff', builtin.find_files, { desc = 'Telescope find files' }) +vim.keymap.set('n', 'fg', builtin.live_grep, { desc = 'Telescope live grep' }) +vim.keymap.set('n', 'fb', ":Telescope file_browser", { desc = 'Telescope file_browser' }) +vim.keymap.set('n', 'fh', builtin.help_tags, { desc = 'Telescope help tags' }) + +-- Dap binds +vim.keymap.set('n', 'do', dapui.open, { desc = "Open debug overlay" }) +vim.keymap.set('n', 'dc', dapui.close, { desc = "Close debug overlay" }) +vim.keymap.set('n', '', dap.toggle_breakpoint, { desc = "Close debug overlay" }) +vim.keymap.set('n', '', dap.continue, { desc = "Close debug overlay" }) +vim.keymap.set('n', '', dap.step_over, { desc = "Close debug overlay" }) +vim.keymap.set('n', '', dap.step_into, { desc = "Close debug overlay" }) + + + + + diff --git a/packages/nvim/lua/plugins/blankline.lua b/packages/nvim/lua/plugins/blankline.lua new file mode 100644 index 0000000..a1e1bc9 --- /dev/null +++ b/packages/nvim/lua/plugins/blankline.lua @@ -0,0 +1,7 @@ +return { + "lukas-reineke/indent-blankline.nvim", + main = "ibl", + ---@module "ibl" + ---@type ibl.config + opts = {}, +} diff --git a/packages/nvim/lua/plugins/dap.lua b/packages/nvim/lua/plugins/dap.lua new file mode 100644 index 0000000..4be4d3f --- /dev/null +++ b/packages/nvim/lua/plugins/dap.lua @@ -0,0 +1 @@ +return { "rcarriga/nvim-dap-ui", dependencies = {"mfussenegger/nvim-dap", "nvim-neotest/nvim-nio"} } diff --git a/packages/nvim/lua/plugins/rustaceanvim.lua b/packages/nvim/lua/plugins/rustaceanvim.lua new file mode 100644 index 0000000..46c4c82 --- /dev/null +++ b/packages/nvim/lua/plugins/rustaceanvim.lua @@ -0,0 +1,5 @@ +return { + 'mrcjkb/rustaceanvim', + version = '^5', -- Recommended + lazy = false, -- This plugin is already lazy +} diff --git a/packages/nvim/lua/plugins/trouble.lua b/packages/nvim/lua/plugins/trouble.lua new file mode 100644 index 0000000..3741f30 --- /dev/null +++ b/packages/nvim/lua/plugins/trouble.lua @@ -0,0 +1,37 @@ +return { + "folke/trouble.nvim", + opts = {}, -- for default options, refer to the configuration section for custom setup. + cmd = "Trouble", + keys = { + { + "xx", + "Trouble diagnostics toggle", + desc = "Diagnostics (Trouble)", + }, + { + "xX", + "Trouble diagnostics toggle filter.buf=0", + desc = "Buffer Diagnostics (Trouble)", + }, + { + "cs", + "Trouble symbols toggle focus=false", + desc = "Symbols (Trouble)", + }, + { + "cl", + "Trouble lsp toggle focus=false win.position=right", + desc = "LSP Definitions / references / ... (Trouble)", + }, + { + "xL", + "Trouble loclist toggle", + desc = "Location List (Trouble)", + }, + { + "xQ", + "Trouble qflist toggle", + desc = "Quickfix List (Trouble)", + }, + }, +}