blob: fc6f72d138dcc855d7f53328b039eefa1dec42af [file] [log] [blame]
{
pkgs,
lib,
...
}: {
programs.neovim = {
coc = {
enable = true;
settings = {
"suggest.noselect" = false;
"cSpell.checkOnlyEnabledfileTypes" = false;
"rust-analyzer.serverPath" = "${pkgs.rust-analyzer}/bin/rust-analyzer";
languageserver = {
nix = {
command = "${pkgs.rnix-lsp}/bin/rnix-lsp";
filetypes = ["nix"];
};
};
};
};
plugins = with pkgs.vimPlugins; [
# Language servers
coc-tsserver
coc-eslint
coc-rust-analyzer
coc-json
coc-jest
coc-css
# Spellchecker
coc-spell-checker # FIXME: Broken in upstream, needs an overlay
# File explorer
coc-explorer
coc-git # TODO: Check if coc-git is still needed
# Snippet completion
coc-snippets
vim-snippets
];
extraConfig = lib.pipe [./keybinds.vim ./theme.vim] [
(map builtins.readFile)
(builtins.concatStringsSep "\n")
];
extraPackages = [pkgs.nodejs pkgs.rustc];
};
}