nixos-configuration/home/neovim/init.lua

150 lines
3.6 KiB
Lua
Raw Permalink 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 {
2024-02-23 00:28:48 +01:00
"mrcjkb/rustaceanvim",
ft = { 'rust' },
2022-11-06 13:38:09 +01:00
requires = {
2024-02-23 00:28:48 +01:00
{
"lvimuser/lsp-inlayhints.nvim",
opts = {}
},
{ "nvim-lua/plenary.nvim" },
{ "mfussenegger/nvim-dap" },
2022-11-06 13:38:09 +01:00
},
config = function()
2024-02-23 00:28:48 +01:00
vim.g.rustaceanvim = {
tools = {
hover_actions = {
auto_focus = true,
},
},
2024-02-23 00:28:48 +01:00
server = {
on_attach = function(client, bufnr)
require("lsp-inlayhints").setup()
require("lsp-inlayhints").on_attach(client, bufnr)
require("lsp-inlayhints").show()
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 {
2024-02-15 15:09:40 +01:00
'nvim-telescope/telescope.nvim',
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,
-- },
-- })