Automated update of the master maintainers list combining:
- Nixvim specific maintainers from lib/maintainers.nix
- Nixpkgs maintainers referenced in Nixvim modules
Changes: +7 -0 lines
Generated by: flake/dev/generate-all-maintainers/generate-all-maintainers.py
The old lsp module wrapped (in plugins/lsp/language-servers/default.nix)
all configuration of the jsonls and yamlls servers in `json` and `yaml`
keys respectively, so the schemastore module never needed to add those
keys.
However, the new lsp module passes the configuration as-is instead. This
means that the schemastore module must be the one to wrap the
configuration in the `json` and `yaml` keys. Without this, jsonls does
not get its support enabled at all, and yamlls falls back to the
built-in support.
Adds two internal per-server options: `packages.prefix` & `packages.suffix`.
These options allow the server module to install multiple packages, and
control which end up being prefixed or suffixed on the PATH.
This simplifies the propagating code in `modules/lsp/servers/default.nix`,
which can now zip up the enabled server `packages` attrs.
Adding a module in the following places will import the module into that
specific server's submodule.
This allows creating server-specific options.
Added a test case to ensure all custom modules correspond to an actual
server option to avoid accidental dead code.
`shorthandOnlyDefinesConfig` is true by default for `lib.types.submodule`,
and false by default for `lib.types.submoduleWith` and `lib.evalModules`.
Since we rely on it for our `lsp.servers.*.config` option, let's enable
it explicitly.
Automated update of the master maintainers list combining:
- Nixvim specific maintainers from lib/maintainers.nix
- Nixpkgs maintainers referenced in Nixvim modules
Changes: +7 -0 lines
Generated by: flake/dev/generate-all-maintainers/generate-all-maintainers.py
The `lsp.servers.<name>` option description links to the server's
homepage if it can evaluate the default package's `meta.homepage`.
However, users may evaluate this description, e.g. when building NixOS
docs with `documentation.nixos.includeAllModules`. Further, users may
have a different nixpkgs revisions to ours. Therefore, we need to allow
for the package not being in nixpkgs.
Since `mkPackageOption` will throw in the default, we can catch it with
`tryEval`.