First, I have a cold so please forgive any “spacy” logic…
I’ve been using nixvim for a couple of months. It’s working great and I have the nixd lsp working “fine” (some things don’t seem to really be loading, but that’s for another day). But I can’t seem to get phpactor to autocomplete or show any information. I looked at many examples on GitHub, and they are all pretty varied. Many of which only have the lsp server enabled.
modHome/cli/neovim/plugins/lsp.nix
{
self,
config,
osConfig,
pkgs,
...
}:
{
home.packages = with pkgs; [ phpactor ];
programs.nixvim = {
plugins = {
lsp-format.enable = true;
lsp = {
enable = true;
keymaps = {
silent = true;
diagnostic = {
# Navigate in diagnostics
"<leader>k" = "goto_prev";
"<leader>j" = "goto_next";
};
lspBuf = {
ft = "format";
gd = "definition";
gD = "references";
gt = "type_definition";
gi = "implementation";
K = "hover";
"<F2>" = "rename";
};
};
servers = {
bashls.enable = true;
clangd.enable = true;
cssls.enable = true;
eslint.enable = true;
#intelephense.enable = true;
nixd = {
enable = true;
filetypes = [ "nix" ];
settings =
let
# flake = ''(builtins.getFlake)'';
flake = ''(builtins.getFlake "../../../../flake.nix")'';
system = ''''${builtins.currentSystem}'';
in
{
nixpkgs.expr = "import ${flake}.inputs.nixpkgs { }";
options = rec {
flake-parts.expr = "${flake}.debug.options";
nixos.expr = "${flake}.nixosConfigurations.${osConfig.networking.hostName}.options";
home-manager.expr = "${nixos.expr}.home-manager.users.type.getSubOptions [ ]";
nixvim.expr = "${flake}.packages.${system}.nvim.options";
};
formatting = {
command = [ "nixfmt" ];
};
diagnostic = {
# Suppress noisy warnings
suppress = [
# "sema-escaping-with"
# "var-bind-to-this"
];
};
};
};
phpactor = {
enable = true;
autostart = true;
cmd = [
"phpactor"
"language-server"
];
filetypes = [ "php" ];
};
sqls.enable = true;
texlab.enable = true;
};
};
};
};
}
Thanks for any input