nix/lib/programs/home/neovim/default.nix
2024-01-05 19:44:05 +00:00

51 lines
1.3 KiB
Nix

{
config,
pkgs,
lib,
...
}: {
programs.neovim = {
enable = true;
defaultEditor = true;
extraLuaConfig = ''
${builtins.readFile ./config.lua}
'';
extraPackages = with pkgs; [
nodePackages_latest.typescript-language-server
vscode-langservers-extracted
gopls
nil
];
plugins = with pkgs.vimPlugins; [
vim-surround
vim-commentary
{
plugin = telescope-nvim;
type = "lua";
config = ''
local builtin = require('telescope.builtin')
vim.keymap.set('n', '<leader>ff', 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, {})
'';
}
{
plugin = nvim-lspconfig;
type = "lua";
config = builtins.readFile ./lspconfig.lua;
}
firenvim
];
};
programs.vscode = {
extensions = [ pkgs.vscode-extensions.asvetliakov.vscode-neovim ];
userSettings = {
"vscode-neovim.neovimExecutablePaths.linux" = "${pkgs.neovim}/bin/nvim";
"extensions.experimental.affinity" = {
"asvetliakov.vscode-neovim" = 1;
};
};
};
}