{ config, ... }: { programs.claude-code = { package = config.lib.test.mkStubPackage { name = "claude-code"; buildScript = '' mkdir -p $out/bin touch $out/bin/claude chmod 755 $out/bin/claude ''; }; enable = true; lspServers = { go = { command = "gopls"; args = [ "serve" ]; extensionToLanguage = { ".go" = "go"; }; }; typescript = { command = "typescript-language-server"; args = [ "--stdio" ]; extensionToLanguage = { ".ts" = "typescript"; ".tsx" = "typescriptreact"; }; }; }; }; nmt.script = '' wrapperPath="$TESTED/home-path/bin/claude" normalizedWrapper=$(normalizeStorePaths "$wrapperPath") assertFileContent "$normalizedWrapper" ${./expected-lsp-wrapper} pluginDir=$(grep -o -- '--plugin-dir /nix/store/[^ ]*' "$wrapperPath") pluginDir="''${pluginDir#--plugin-dir }" assertFileContent "$pluginDir/.claude-plugin/plugin.json" ${./expected-plugin-manifest.json} assertFileContent "$pluginDir/.lsp.json" ${./expected-lsp-plugin.json} assertPathNotExists "$pluginDir/.mcp.json" ''; }