98 lines
2.0 KiB
Nix
98 lines
2.0 KiB
Nix
{ 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}
|
|
# '';
|
|
};
|
|
}
|