nixos-configuration/home/neovim/init.lua

146 lines
3.6 KiB
Lua
Raw Normal View History

2022-10-29 02:25:11 +02:00
require('packer').startup(function(use)
use {
'VonHeikemen/lsp-zero.nvim',
requires = {
-- LSP Support
{ 'neovim/nvim-lspconfig' },
{ 'williamboman/mason.nvim' },
{ 'williamboman/mason-lspconfig.nvim' },
-- Autocompletion
{ 'hrsh7th/nvim-cmp' },
{ 'hrsh7th/cmp-buffer' },
{ 'hrsh7th/cmp-path' },
{ 'saadparwaiz1/cmp_luasnip' },
{ 'hrsh7th/cmp-nvim-lsp' },
{ 'hrsh7th/cmp-nvim-lua' },
-- Snippets
{ 'L3MON4D3/LuaSnip' },
{ 'rafamadriz/friendly-snippets' },
},
config = function()
local lsp = require('lsp-zero')
lsp.preset('recommended')
lsp.setup()
end
2022-10-29 02:25:11 +02:00
}
2022-11-06 13:38:09 +01:00
use {
'simrat39/rust-tools.nvim',
requires = {
{ 'neovim/nvim-lspconfig' },
-- Debugging
{ 'nvim-lua/plenary.nvim' },
{ 'mfussenegger/nvim-dap' },
},
config = function()
local rt = require("rust-tools")
rt.setup({
server = {
on_attach = function(_, bufnr)
-- Hover actions
vim.keymap.set("n", "<C-space>", rt.hover_actions.hover_actions, { buffer = bufnr })
-- Code action groups
vim.keymap.set("n", "<Leader>a", rt.code_action_group.code_action_group, { buffer = bufnr })
end,
},
})
end,
2022-11-06 13:38:09 +01:00
}
2022-10-29 02:25:11 +02:00
use {
'nvim-treesitter/nvim-treesitter',
run = function() require('nvim-treesitter.install').update({ with_sync = true }) end,
config = function()
require('nvim-treesitter.configs').setup {
ensure_installed = { "rust", "nix" },
highlight={enable=true},
}
end
2022-10-29 02:25:11 +02:00
}
-- use { 'kien/ctrlp.vim' }
use {
'nvim-telescope/telescope.nvim', tag = '0.1.0',
requires = {
{ 'nvim-lua/plenary.nvim' }
},
config = function()
local builtin = require('telescope.builtin')
vim.keymap.set('n', '<leader>ff', builtin.find_files, {})
vim.keymap.set('n', '<c-p>', builtin.find_files, {})
vim.keymap.set('n', '<leader>fg', builtin.live_grep, {})
vim.keymap.set('n', '<leader>fb', builtin.buffers, {})
vim.keymap.set('n', '<leader>fh', builtin.help_tags, {})
end,
}
2022-10-29 02:25:11 +02:00
use { 'tpope/vim-commentary' }
use { 'tpope/vim-surround' }
2022-10-29 02:37:50 +02:00
-- repeat plugin commands using `.`
use { 'tpope/vim-repeat' }
-- autodetect indentation
use { 'tpope/vim-sleuth' }
-- autoclose quotes, brackets, ...
use { 'Raimondi/delimitMate' }
-- TODO: evaluate if usefull
-- use {
-- "windwp/nvim-autopairs",
-- config = function()
-- require("nvim-autopairs").setup({
-- -- check_ts = true,
-- })
-- end,
-- }
2022-10-29 02:25:11 +02:00
2022-10-29 02:37:50 +02:00
-- git
use { 'tpope/vim-fugitive' }
use {
'lewis6991/gitsigns.nvim',
config = function()
require('gitsigns').setup({
current_line_blame = true,
})
end
}
2022-10-29 02:37:50 +02:00
use { 'farmergreg/vim-lastplace' }
use { 'bronson/vim-trailing-whitespace' }
2022-10-29 02:25:11 +02:00
-- ui stuff
use {
'akinsho/bufferline.nvim',
tag = "v3.*",
requires = 'nvim-tree/nvim-web-devicons',
config = function()
require("bufferline").setup {}
end,
}
end)
2022-10-29 02:25:11 +02:00
-- local lsp = require('lsp-zero')
-- lsp.preset('recommended')
-- lsp.setup()
2022-10-29 02:25:11 +02:00
-- require('nvim-treesitter.configs').setup {
-- ensure_installed = { "rust", "nix" },
-- highlight={enable=true},
-- }
2022-11-06 13:38:09 +01:00
-- local rt = require("rust-tools")
2022-11-06 13:38:09 +01:00
-- rt.setup({
-- server = {
-- on_attach = function(_, bufnr)
-- -- Hover actions
-- vim.keymap.set("n", "<C-space>", rt.hover_actions.hover_actions, { buffer = bufnr })
-- -- Code action groups
-- vim.keymap.set("n", "<Leader>a", rt.code_action_group.code_action_group, { buffer = bufnr })
-- end,
-- },
-- })