neovim start

This commit is contained in:
Lennart J. Kurzweg (Nx2)
2024-04-29 16:09:43 +02:00
parent a64deb9113
commit 31df2f1a03
13 changed files with 439 additions and 67 deletions

97
home-modules/nvim.nix Normal file
View File

@@ -0,0 +1,97 @@
{ config, pkgs, rice, ... }:
let
toLua = str: "lua << EOF\n${str}\nEOF\n";
toLuaFile = file: "lua << EOF\n${builtins.readFile file}\nEOF\n";
in
{
programs.neovim = {
enable = true;
viAlias = true;
vimAlias = true;
vimdiffAlias = true;
extraPackages = with pkgs; [
lua-language-server
# rnix-lsp
xclip
wl-clipboard
];
plugins = with pkgs.vimPlugins; [
{
plugin = nvim-lspconfig;
config = toLuaFile ./nvim-lua/plugin/lsp.lua;
}
{
plugin = comment-nvim;
config = toLua ''require("Comment").setup()'';
}
{
plugin = gruvbox-nvim;
config = "colorscheme gruvbox";
}
neodev-nvim
nvim-cmp
{
plugin = nvim-cmp;
config = toLuaFile ./nvim-lua/plugin/cmp.lua;
}
{
plugin = telescope-nvim;
config = toLuaFile ./nvim-lua/plugin/telescope.lua;
}
telescope-fzf-native-nvim
cmp_luasnip
cmp-nvim-lsp
luasnip
friendly-snippets
lualine-nvim
nvim-web-devicons
{
plugin = (nvim-treesitter.withPlugins (p: [
p.tree-sitter-nix
p.tree-sitter-vim
p.tree-sitter-bash
p.tree-sitter-lua
p.tree-sitter-python
p.tree-sitter-json
]));
config = toLuaFile ./nvim-lua/plugin/treesitter.lua;
}
vim-nix
# {
# plugin = vimPlugins.own-onedark-nvim;
# config = "colorscheme onedark";
# }
];
extraLuaConfig = ''
${builtins.readFile ./nvim-lua/options.lua}
'';
# extraLuaConfig = ''
# ${builtins.readFile ./nvim-lua/options.lua}
# ${builtins.readFile ./nvim-lua/plugin/lsp.lua}
# ${builtins.readFile ./nvim-lua/plugin/cmp.lua}
# ${builtins.readFile ./nvim-lua/plugin/telescope.lua}
# ${builtins.readFile ./nvim-lua/plugin/treesitter.lua}
# ${builtins.readFile ./nvim-lua/plugin/other.lua}
# '';
};
}