Signed-off-by: Lander Van den Bulcke <landervandenbulcke@gmail.com>
146 lines
3.3 KiB
Nix
146 lines
3.3 KiB
Nix
{ pkgs, ... }:
|
|
let
|
|
puppet-editor-services = pkgs.callPackage ../../../pkgs/puppet-editor-services/package.nix { };
|
|
in
|
|
{
|
|
plugins = {
|
|
lspconfig = {
|
|
enable = true;
|
|
};
|
|
lsp-lines = {
|
|
enable = true;
|
|
};
|
|
lsp-format = {
|
|
enable = true;
|
|
};
|
|
helm = {
|
|
enable = true;
|
|
};
|
|
lspsaga = {
|
|
enable = true;
|
|
};
|
|
};
|
|
lsp = {
|
|
servers = {
|
|
html = {
|
|
enable = true;
|
|
};
|
|
lua_ls = {
|
|
enable = true;
|
|
};
|
|
nil_ls = {
|
|
enable = true;
|
|
};
|
|
ts_ls = {
|
|
enable = true;
|
|
};
|
|
marksman = {
|
|
enable = true;
|
|
};
|
|
pyright = {
|
|
enable = true;
|
|
};
|
|
gopls = {
|
|
enable = true;
|
|
};
|
|
terraformls = {
|
|
enable = true;
|
|
settings = {
|
|
terraform.path = "${pkgs.opentofu}/bin/tofu";
|
|
};
|
|
};
|
|
jsonls = {
|
|
enable = true;
|
|
};
|
|
hls = {
|
|
enable = true;
|
|
};
|
|
rubocop = {
|
|
enable = true;
|
|
};
|
|
ruby_lsp = {
|
|
enable = true;
|
|
};
|
|
texlab = {
|
|
enable = true;
|
|
};
|
|
puppet = {
|
|
enable = true;
|
|
package = puppet-editor-services;
|
|
settings.cmd = [
|
|
"${puppet-editor-services}/bin/puppet-languageserver"
|
|
"--stdio"
|
|
];
|
|
};
|
|
helm_ls = {
|
|
enable = true;
|
|
settings = {
|
|
"helm_ls" = {
|
|
yamlls = {
|
|
path = "${pkgs.yaml-language-server}/bin/yaml-language-server";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
yamlls = {
|
|
enable = true;
|
|
settings = {
|
|
yaml = {
|
|
format = {
|
|
singleQuote = true;
|
|
};
|
|
schemas = {
|
|
kubernetes = "'*.yaml";
|
|
"http://json.schemastore.org/github-workflow" = ".github/workflows/*";
|
|
"http://json.schemastore.org/github-action" = ".github/action.{yml,yaml}";
|
|
"http://json.schemastore.org/ansible-stable-2.9" = "roles/tasks/*.{yml,yaml}";
|
|
"http://json.schemastore.org/kustomization" = "kustomization.{yml,yaml}";
|
|
"http://json.schemastore.org/ansible-playbook" = "*play*.{yml,yaml}";
|
|
"http://json.schemastore.org/chart" = "Chart.{yml,yaml}";
|
|
"https://json.schemastore.org/dependabot-v2" = ".github/dependabot.{yml,yaml}";
|
|
"https://raw.githubusercontent.com/compose-spec/compose-spec/master/schema/compose-spec.json" =
|
|
"*docker-compose*.{yml,yaml}";
|
|
"https://raw.githubusercontent.com/argoproj/argo-workflows/master/api/jsonschema/schema.json" =
|
|
"*flow*.{yml,yaml}";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
keymaps = [
|
|
{
|
|
key = "gd";
|
|
lspBufAction = "definition";
|
|
}
|
|
{
|
|
key = "gr";
|
|
lspBufAction = "references";
|
|
}
|
|
{
|
|
key = "gD";
|
|
lspBufAction = "declaration";
|
|
}
|
|
{
|
|
key = "gI";
|
|
lspBufAction = "implementation";
|
|
}
|
|
{
|
|
key = "gT";
|
|
lspBufAction = "type_definition";
|
|
}
|
|
{
|
|
key = "K";
|
|
lspBufAction = "hover";
|
|
}
|
|
{
|
|
key = "<leader>cw";
|
|
lspBufAction = "workspace_symbol";
|
|
}
|
|
{
|
|
key = "<leader>cr";
|
|
lspBufAction = "rename";
|
|
}
|
|
];
|
|
};
|
|
}
|