51 lines
1.3 KiB
Nix
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;
|
|
};
|
|
};
|
|
};
|
|
}
|