* nvim-lsp: Allow to pass settings to clients
Some clients (like rust-analyzer, nil_ls, ...) can take settings
specified in the setup function. This commit adds two fields for the
'mkLsp' function to handle this:
- extraOptions: define nix module options
- settings: A function that takes the corresponding lsp module config
and formats it as a settings object compatible with the server.
* nvim-lsp: Add nil-ls (for Nix)
* nvim-lsp: Add bashls (for Bash)
* nvim-lsp: Add dartls, for dart
Co-authored-by: Pedro Alves <pta2002@users.noreply.github.com>
This represents a major rearchitecture for nixvim, so I'm leaving this up to track the progress for now, and to serve as a reference for any breaking changes during transition.
The main change is, of course, being able to use nixvim standalone. To do this, you should use the new build function, which takes in two arguments: the system architecture (e.g. x86_64-linux) and the configuration. For the new configuration, do not use the programs.nixvim. prefix.
For module development, the main change is that you should no longer prefix your modules with programs.nixvim..