2025-10-05 15:47:32 -07:00
|
|
|
{ ... }:
|
|
|
|
|
|
|
|
{
|
|
|
|
programs.nixvim.lsp = {
|
|
|
|
inlayHints.enable = true;
|
|
|
|
|
|
|
|
servers = {
|
|
|
|
# Python
|
|
|
|
basedpyright = {
|
|
|
|
enable = true;
|
2025-10-11 13:05:59 -07:00
|
|
|
config.settings.basedpyright = {
|
2025-10-05 15:47:32 -07:00
|
|
|
analysis = {
|
|
|
|
autoImportCompletions = true;
|
|
|
|
autoSearchPaths = true;
|
|
|
|
inlayHints = {
|
|
|
|
callArgumentNames = true;
|
|
|
|
};
|
|
|
|
diagnosticMode = "openFilesOnly";
|
|
|
|
reportMissingImports = true;
|
|
|
|
reportMissingParameterType = true;
|
|
|
|
reportUnnecessaryComparison = true;
|
|
|
|
reportUnnecessaryContains = true;
|
|
|
|
reportUnusedClass = true;
|
|
|
|
reportUnusedFunction = true;
|
|
|
|
reportUnsedImports = true;
|
|
|
|
reportUnsusedVariables = true;
|
|
|
|
typeCheckingMode = "recommended";
|
|
|
|
useLibraryCodeForTypes = true;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
# Shell scripting
|
|
|
|
bashls.enable = true;
|
|
|
|
|
|
|
|
# Web development
|
|
|
|
html.enable = true;
|
|
|
|
jsonls.enable = true;
|
|
|
|
yamlls.enable = true;
|
|
|
|
ts_ls.enable = true;
|
|
|
|
|
|
|
|
# Query languages
|
|
|
|
jqls.enable = true;
|
|
|
|
|
|
|
|
# Lua
|
|
|
|
lua_ls = {
|
|
|
|
enable = true;
|
2025-10-11 13:05:59 -07:00
|
|
|
config.settings.diagnostics.globals = [ "vim" ];
|
2025-10-05 15:47:32 -07:00
|
|
|
};
|
|
|
|
|
|
|
|
# Documentation
|
|
|
|
marksman.enable = true;
|
|
|
|
|
|
|
|
# Scala
|
2025-10-11 12:49:37 -07:00
|
|
|
metals = {
|
|
|
|
enable = true;
|
2025-10-11 13:05:59 -07:00
|
|
|
config.settings = {
|
2025-10-11 12:49:37 -07:00
|
|
|
defaultBspToBuildTool = true;
|
|
|
|
enableBestEffort = true;
|
|
|
|
excludedPackages = [
|
|
|
|
"akka.actor.typed.javadsl"
|
|
|
|
"com.github.swagger.akka.javadsl"
|
|
|
|
];
|
|
|
|
initOptions = {
|
|
|
|
statusBarProvider = "on";
|
|
|
|
};
|
|
|
|
inlayHints = {
|
|
|
|
typeParameters.enable = true;
|
|
|
|
hintsInPatternMatch.enable = true;
|
|
|
|
};
|
|
|
|
mcpClient = "claude";
|
|
|
|
serverVersion = "latest.snapshot";
|
|
|
|
showImplicitArguments = true;
|
|
|
|
showImplicitConversionsAndClasses = true;
|
|
|
|
showInferredType = true;
|
|
|
|
startMcpServer = true;
|
|
|
|
superMethodLensesEnabled = true;
|
|
|
|
useGlobalExecutable = true;
|
|
|
|
};
|
|
|
|
};
|
2025-10-05 15:47:32 -07:00
|
|
|
|
|
|
|
# Nix
|
|
|
|
nil_ls.enable = true;
|
|
|
|
nixd.enable = true;
|
|
|
|
|
|
|
|
# Rust
|
|
|
|
rust_analyzer.enable = true;
|
|
|
|
|
|
|
|
# Swift/iOS development
|
|
|
|
sourcekit = {
|
|
|
|
enable = true;
|
2025-10-11 13:05:59 -07:00
|
|
|
config = {
|
2025-10-05 15:47:32 -07:00
|
|
|
cmd = [
|
|
|
|
"xcrun"
|
|
|
|
"sourcekit-lsp"
|
|
|
|
];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
# Typst
|
|
|
|
tinymist.enable = true;
|
|
|
|
};
|
|
|
|
};
|
2025-10-11 12:49:37 -07:00
|
|
|
}
|