dotfiles/home/apps/neovim.nix

111 lines
2.1 KiB
Nix
Raw Normal View History

{
2023-02-10 07:46:37 +01:00
config,
pkgs,
flakePath,
...
}: {
programs.neovim = {
enable = true;
defaultEditor = true;
viAlias = true;
vimAlias = true;
vimdiffAlias = true;
withNodeJs = true;
package = pkgs.symlinkJoin {
name = "neovim";
paths = [pkgs.neovim-unwrapped];
buildInputs = [pkgs.makeWrapper pkgs.gcc];
postBuild = "wrapProgram $out/bin/nvim --prefix CC : ${pkgs.lib.getExe pkgs.gcc}";
};
2023-04-27 09:30:26 +02:00
extraPackages = with pkgs; [
# external deps
fd
ripgrep
# python
black
isort
nodePackages.pyright
# lua
stylua
lua-language-server
luaPackages.tl
luaPackages.teal-language-server
# data
taplo
# go
go
delve
ginkgo
gofumpt
golangci-lint
golines
gomodifytags
gopls
gotests
gotestsum
gotools
govulncheck
iferr
impl
mockgen
reftools
richgo
# webdev
nodePackages."@astrojs/language-server"
nodePackages."@tailwindcss/language-server"
2023-03-17 09:23:43 +01:00
nodePackages.alex
nodePackages.bash-language-server
nodePackages.dockerfile-language-server-nodejs
2023-03-17 09:23:43 +01:00
nodePackages.graphql
nodePackages.graphql-language-service-cli
nodePackages.intelephense
nodePackages.typescript-language-server
2023-07-04 21:20:01 +02:00
nodePackages.vscode-langservers-extracted
2023-05-16 16:25:28 +02:00
nodePackages.yaml-language-server
yarn
# rust
cargo
rust-analyzer
rustc
rustfmt
# etc
2023-05-08 23:49:13 +02:00
alejandra
2023-04-26 04:31:06 +02:00
deno
ltex-ls
2023-05-08 23:49:13 +02:00
nil
nodePackages.prettier
proselint
2023-02-22 03:24:38 +01:00
shellcheck
shfmt
tree-sitter
pkgs.nur.repos.nekowinston.jq-lsp
pkgs.nur.repos.nekowinston.helm-ls
pkgs.nur.repos.bandithedoge.nodePackages.emmet-ls
2023-03-21 07:49:07 +01:00
# nvim-spectre
gnused
(writeShellScriptBin "gsed" "exec ${gnused}/bin/sed")
# needed for some plugin build steps
gnumake
unzip
];
};
xdg.configFile."nvim" = {
2023-02-19 00:18:25 +01:00
source = config.lib.file.mkOutOfStoreSymlink "${flakePath}/home/apps/neovim";
recursive = true;
};
}