75 lines
1.7 KiB
Nix
75 lines
1.7 KiB
Nix
{ pkgs, ... }:
|
|
|
|
{
|
|
config = {
|
|
programs.neovim = {
|
|
enable = true;
|
|
viAlias = true;
|
|
vimAlias = true;
|
|
vimdiffAlias = true;
|
|
defaultEditor = true;
|
|
extraLuaConfig = builtins.readFile ./core.lua;
|
|
|
|
extraPackages = with pkgs; [
|
|
nil
|
|
nodePackages.pyright
|
|
neofetch
|
|
gopls
|
|
terraform-ls
|
|
];
|
|
|
|
plugins = with pkgs.vimPlugins; [
|
|
{
|
|
plugin = nvim-lspconfig;
|
|
type = "lua";
|
|
config = builtins.readFile ./lspconfig.lua;
|
|
}
|
|
gruvbox-nvim
|
|
{
|
|
plugin = leap-nvim;
|
|
type = "lua";
|
|
config = builtins.readFile ./leap.lua;
|
|
}
|
|
{
|
|
plugin = telescope-nvim;
|
|
type = "lua";
|
|
config = builtins.readFile ./telescope.lua;
|
|
}
|
|
{
|
|
plugin = vim-commentary;
|
|
type = "lua";
|
|
config = "vim.cmd([[autocmd FileType nix setlocal commentstring=#%s]])";
|
|
}
|
|
vim-sleuth
|
|
{
|
|
plugin = gitsigns-nvim;
|
|
type = "lua";
|
|
config = "require(\"gitsigns\").setup()";
|
|
}
|
|
{
|
|
plugin = nvim-cmp;
|
|
type = "lua";
|
|
config = builtins.readFile ./cmp.lua;
|
|
}
|
|
cmp-nvim-lsp
|
|
friendly-snippets
|
|
neodev-nvim
|
|
luasnip
|
|
cmp_luasnip
|
|
{
|
|
plugin = nvim-treesitter.withAllGrammars;
|
|
type = "lua";
|
|
config = builtins.readFile ./treesitter.lua;
|
|
}
|
|
{
|
|
plugin = bufferline-nvim;
|
|
type = "lua";
|
|
config = builtins.readFile ./bufferline.lua;
|
|
}
|
|
nvim-web-devicons
|
|
];
|
|
};
|
|
|
|
programs.git.extraConfig.core.editor = "nvim";
|
|
};
|
|
}
|