dotfiles/modules/neovim.nix

83 lines
1.5 KiB
Nix
Raw Normal View History

2023-02-09 16:42:53 +01:00
{ config, pkgs, machine, ... }:
{
home.sessionVariables = {
EDITOR = "nvim";
SUDO_EDITOR = "nvim";
};
programs.neovim = {
enable = 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
2023-02-07 11:42:25 +01:00
pkgs.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-09 16:42:53 +01:00
source = config.lib.file.mkOutOfStoreSymlink "${machine.flakePath}/modules/nvim";
recursive = true;
};
}