dotfiles/modules/neovim.nix

79 lines
1.4 KiB
Nix
Raw Normal View History

2023-02-10 06:34:05 +01:00
{ config, pkgs, flakePath, ... }:
{
programs.neovim = {
enable = true;
defaultEditor = true;
viAlias = true;
vimAlias = true;
vimdiffAlias = true;
withNodeJs = true;
extraPackages = with pkgs; [
# external deps
fd
ripgrep
# python
black
isort
nodePackages.pyright
# lua
stylua
sumneko-lua-language-server
# data
taplo
# go
delve
ginkgo
gofumpt
gopls
impl
mockgen
# webdev
nodePackages."@astrojs/language-server"
nodePackages."@tailwindcss/language-server"
nodePackages.bash-language-server
nodePackages.dockerfile-language-server-nodejs
nodePackages.alex
# (callPackage ../packages/emmet-ls {})
nodePackages.typescript
nodePackages.typescript-language-server
nodePackages.vscode-langservers-extracted
nodePackages.yaml-language-server
# etc
2023-02-09 16:42:53 +01:00
unstable.deno
ltex-ls
nodePackages.prettier
rnix-lsp
unstable.rust-analyzer
proselint
rustc
rustfmt
shfmt
tree-sitter
(callPackage ../packages/jq-lsp {})
2023-02-09 16:42:53 +01:00
(callPackage ../packages/helm-ls {})
# needed for some plugin build steps
cargo
yarn
unzip
gcc
gnumake
];
};
xdg.configFile."nvim" = {
2023-02-10 07:33:53 +01:00
source = config.lib.file.mkOutOfStoreSymlink "${flakePath}/modules/neovim";
recursive = true;
};
}