Enable language servers only on workstations
This commit is contained in:
parent
71edfc6fe4
commit
2a76f31178
1 changed files with 73 additions and 66 deletions
|
|
@ -1,4 +1,4 @@
|
|||
{ config, pkgs, ... }:
|
||||
{ lib, nixosConfig, config, pkgs, ... }:
|
||||
{
|
||||
home.sessionVariables = {
|
||||
EDITOR = "nvim";
|
||||
|
|
@ -82,80 +82,87 @@
|
|||
];
|
||||
};
|
||||
|
||||
xdg.configFile."nvim/lua/init.lua".text = ''
|
||||
xdg.configFile."nvim/lua/init.lua".text = builtins.concatStringsSep "\n" (
|
||||
[
|
||||
''
|
||||
-- init.lua
|
||||
-- this configuration applies to servers and workstations
|
||||
''
|
||||
] ++ lib.optional nixosConfig.myConfig.workstation.enable ''
|
||||
-- this configuration applies to workstations only
|
||||
-- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md
|
||||
local lsp = require('lspconfig')
|
||||
|
||||
-- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md
|
||||
local lsp = require('lspconfig')
|
||||
-- C and C++
|
||||
lsp.ccls.setup {
|
||||
on_attach = on_attach,
|
||||
cmd = { "${pkgs.ccls}/bin/ccls" },
|
||||
}
|
||||
|
||||
-- C and C++
|
||||
lsp.ccls.setup {
|
||||
on_attach = on_attach,
|
||||
cmd = { "${pkgs.ccls}/bin/ccls" },
|
||||
}
|
||||
-- Nix
|
||||
lsp.rnix.setup {
|
||||
on_attach = on_attach,
|
||||
cmd = { "${pkgs.rnix-lsp}/bin/rnix-lsp" },
|
||||
}
|
||||
|
||||
-- Nix
|
||||
lsp.rnix.setup {
|
||||
on_attach = on_attach,
|
||||
cmd = { "${pkgs.rnix-lsp}/bin/rnix-lsp" },
|
||||
}
|
||||
|
||||
-- Python
|
||||
lsp.pylsp.setup {
|
||||
on_attach = on_attach,
|
||||
cmd = { "${pkgs.python310Packages.python-lsp-server}/bin/pylsp" },
|
||||
settings = {
|
||||
-- https://github.com/python-lsp/python-lsp-server/blob/develop/CONFIGURATION.md
|
||||
pylsp = {
|
||||
plugins = {
|
||||
flake8 = {
|
||||
enabled = true;
|
||||
executable = "${pkgs.python310Packages.flake8}/bin/flake8";
|
||||
-- Python
|
||||
lsp.pylsp.setup {
|
||||
on_attach = on_attach,
|
||||
cmd = { "${pkgs.python310Packages.python-lsp-server}/bin/pylsp" },
|
||||
settings = {
|
||||
-- https://github.com/python-lsp/python-lsp-server/blob/develop/CONFIGURATION.md
|
||||
pylsp = {
|
||||
plugins = {
|
||||
flake8 = {
|
||||
enabled = true;
|
||||
executable = "${pkgs.python310Packages.flake8}/bin/flake8";
|
||||
};
|
||||
jedi_completion = { enabled = true; };
|
||||
jedi_definition = { enabled = true; };
|
||||
jedi_hover = { enabled = true; };
|
||||
jedi_references = { enabled = true; };
|
||||
jedi_signature_help = { enabled = true; };
|
||||
jedi_symbols = { enabled = true; };
|
||||
mccabe = { enabled = true; };
|
||||
preload = { enabled = true; };
|
||||
pycodestyle = { enabled = true; };
|
||||
pyflakes = { enabled = true; };
|
||||
rope_completion = { enabled = true; };
|
||||
yapf = { enabled = true; };
|
||||
};
|
||||
jedi_completion = { enabled = true; };
|
||||
jedi_definition = { enabled = true; };
|
||||
jedi_hover = { enabled = true; };
|
||||
jedi_references = { enabled = true; };
|
||||
jedi_signature_help = { enabled = true; };
|
||||
jedi_symbols = { enabled = true; };
|
||||
mccabe = { enabled = true; };
|
||||
preload = { enabled = true; };
|
||||
pycodestyle = { enabled = true; };
|
||||
pyflakes = { enabled = true; };
|
||||
rope_completion = { enabled = true; };
|
||||
yapf = { enabled = true; };
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
-- Ruby
|
||||
lsp.solargraph.setup {
|
||||
on_attach = on_attach,
|
||||
cmd = { "${pkgs.solargraph}/bin/solargraph", "stdio" },
|
||||
}
|
||||
-- Ruby
|
||||
lsp.solargraph.setup {
|
||||
on_attach = on_attach,
|
||||
cmd = { "${pkgs.solargraph}/bin/solargraph", "stdio" },
|
||||
}
|
||||
|
||||
-- Rust
|
||||
lsp.rust_analyzer.setup {
|
||||
on_attach = on_attach,
|
||||
cmd = { "${pkgs.rust-analyzer}/bin/rust-analyzer" },
|
||||
}
|
||||
-- Rust
|
||||
lsp.rust_analyzer.setup {
|
||||
on_attach = on_attach,
|
||||
cmd = { "${pkgs.rust-analyzer}/bin/rust-analyzer" },
|
||||
}
|
||||
|
||||
-- Bash
|
||||
lsp.bashls.setup {
|
||||
on_attach = on_attach,
|
||||
cmd = { "${pkgs.nodePackages.bash-language-server}/bin/bash-language-server", "start" },
|
||||
}
|
||||
-- Bash
|
||||
lsp.bashls.setup {
|
||||
on_attach = on_attach,
|
||||
cmd = { "${pkgs.nodePackages.bash-language-server}/bin/bash-language-server", "start" },
|
||||
}
|
||||
|
||||
-- Terraform
|
||||
lsp.terraform_lsp.setup {
|
||||
on_attach = on_attach,
|
||||
cmd = { "${pkgs.terraform-lsp}/bin/terraform-lsp", "serve" },
|
||||
}
|
||||
-- Terraform
|
||||
lsp.terraform_lsp.setup {
|
||||
on_attach = on_attach,
|
||||
cmd = { "${pkgs.terraform-lsp}/bin/terraform-lsp", "serve" },
|
||||
}
|
||||
|
||||
-- YAML
|
||||
lsp.yamlls.setup {
|
||||
on_attach = on_attach,
|
||||
cmd = { "${pkgs.nodePackages.yaml-language-server}/bin/yaml-language-server", "--stdio" },
|
||||
}
|
||||
'';
|
||||
-- YAML
|
||||
lsp.yamlls.setup {
|
||||
on_attach = on_attach,
|
||||
cmd = { "${pkgs.nodePackages.yaml-language-server}/bin/yaml-language-server", "--stdio" },
|
||||
}
|
||||
''
|
||||
);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue