Skip to content

Error: Server nixd died unexpectedly (eglot+rass+tix) #800

@bbigras

Description

@bbigras

Describe the bug

nixd seems to exit when I try to use it with rass (a lsp multiplexer) and tix.

nixd+rass+nil seems fine.

Logs

[jsonrpc] D[15:37:49.499] Running language server: rass --log-level debug -- nixd -- /nix/store/cz23ynb326msnyvwbj8pw582zysjyd35-tix-0.1.0/bin/tix lsp
[stderr]  i[15:37:49.551] Launching nixd: nixd
[stderr]  i[15:37:49.552] Launching tix#1: /nix/store/cz23ynb326msnyvwbj8pw582zysjyd35-tix-0.1.0/bin/tix lsp
[stderr]  i[15:37:49.552] Logic class: <class 'rassumfrassum.frassum.LspLogic'>
[stderr]  i[15:37:49.552] Primary server: nixd
[stderr]  i[15:37:49.552] Secondary servers: tix#1
[stderr]  e[15:37:49.552] --> initialize[1] {"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"processId": 581931, "clientInfo": {"name": "Eglot", "version": "1.23"}, "rootPath": "/home/bbigras/tmp/test/", "rootUri": "file:///home/bbigras/tmp/test", "initializationOptions": {}, "capabilities": {"workspace": {"applyEdit": true, "executeCommand": {"dynamicRegistration": false}, "workspaceEdit": {"documentChanges": true, "resourceOperations": ["create", "delete", "rename"], "failureHandling": "abort"}, "didChangeWatchedFiles": {"dynamicRegistration": true, "relativePatternSupport": true}, "symbol": {"dynamicRegistration": false}, "semanticTokens": {"refreshSupport": true}, "configuration": true, "workspaceFolders": true}, "textDocument": {"synchronization": {"dynamicRegistration": false, "willSave": true, "willSaveWaitUntil": true, "didSave": true}, "completion": {"dynamicRegistration": false, "completionItem": {"snippetSupport": false, "deprecatedSupport": true, "resolveSupport": {"properties": ["documentation", "details", "additionalTextEdits"]}, "tagSupport": {"valueSet": [1]}, "insertReplaceSupport": true}, "contextSupport": true}, "hover": {"dynamicRegistration": false, "contentFormat": ["markdown", "plaintext"]}, "signatureHelp": {"dynamicRegistration": false, "signatureInformation": {"parameterInformation": {"labelOffsetSupport": true}, "documentationFormat": ["markdown", "plaintext"], "activeParameterSupport": true}}, "references": {"dynamicRegistration": false}, "definition": {"dynamicRegistration": false, "linkSupport": true}, "declaration": {"dynamicRegistration": false, "linkSupport": true}, "implementation": {"dynamicRegistration": false, "linkSupport": true}, "typeDefinition": {"dynamicRegistration": false, "linkSupport": true}, "documentSymbol": {"dynamicRegistration": false, "hierarchicalDocumentSymbolSupport": true, "symbolKind": {"valueSet": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]}}, "documentHighlight": {"dynamicRegistration": false}, "codeAction": {"dynamicRegistration": false, "resolveSupport": {"properties": ["edit", "command"]}, "dataSupport": true, "codeActionLiteralSupport": {"codeActionKind": {"valueSet": ["quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports"]}}, "isPreferredSupport": true}, "formatting": {"dynamicRegistration": false}, "rangeFormatting": {"dynamicRegistration": false}, "rename": {"dynamicRegistration": false, "prepareSupport": true}, "semanticTokens": {"dynamicRegistration": false, "requests": {"full": {"delta": true}}, "overlappingTokenSupport": true, "multilineTokenSupport": true, "tokenTypes": ["namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator"], "tokenModifiers": ["declaration", "definition", "readonly", "static", "deprecated", "abstract", "async", "modification", "documentation", "defaultLibrary"], "formats": ["relative"]}, "inlayHint": {"dynamicRegistration": false}, "callHierarchy": {"dynamicRegistration": false}, "typeHierarchy": {"dynamicRegistration": false}, "diagnostic": {"dynamicRegistration": false}, "publishDiagnostics": {"relatedInformation": false, "versionSupport": true, "codeDescriptionSupport": false, "tagSupport": {"valueSet": [1, 2]}}, "$streamingDiagnostics": {"dynamicRegistration": false}}, "window": {"showDocument": {"support": true}, "showMessage": {"messageActionItem": {"additionalPropertiesSupport": true}}, "workDoneProgress": false}, "general": {"positionEncodings": ["utf-32", "utf-8", "utf-16"]}, "experimental": {}}, "workspaceFolders": [{"uri": "file:///home/bbigras/tmp/test", "name": "~/tmp/test/"}]}}
[stderr]  i[15:37:49.552] Client requested streaming diagnostics mode
[stderr]  e[15:37:49.553] [nixd] --> initialize[1] {"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"processId": 581931, "clientInfo": {"name": "Eglot", "version": "1.23"}, "rootPath": "/home/bbigras/tmp/test/", "rootUri": "file:///home/bbigras/tmp/test", "initializationOptions": {}, "capabilities": {"workspace": {"applyEdit": true, "executeCommand": {"dynamicRegistration": false}, "workspaceEdit": {"documentChanges": true, "resourceOperations": ["create", "delete", "rename"], "failureHandling": "abort"}, "didChangeWatchedFiles": {"dynamicRegistration": true, "relativePatternSupport": true}, "symbol": {"dynamicRegistration": false}, "semanticTokens": {"refreshSupport": true}, "configuration": true, "workspaceFolders": true}, "textDocument": {"synchronization": {"dynamicRegistration": false, "willSave": true, "willSaveWaitUntil": true, "didSave": true}, "completion": {"dynamicRegistration": false, "completionItem": {"snippetSupport": false, "deprecatedSupport": true, "resolveSupport": {"properties": ["documentation", "details", "additionalTextEdits"]}, "tagSupport": {"valueSet": [1]}, "insertReplaceSupport": true}, "contextSupport": true}, "hover": {"dynamicRegistration": false, "contentFormat": ["markdown", "plaintext"]}, "signatureHelp": {"dynamicRegistration": false, "signatureInformation": {"parameterInformation": {"labelOffsetSupport": true}, "documentationFormat": ["markdown", "plaintext"], "activeParameterSupport": true}}, "references": {"dynamicRegistration": false}, "definition": {"dynamicRegistration": false, "linkSupport": true}, "declaration": {"dynamicRegistration": false, "linkSupport": true}, "implementation": {"dynamicRegistration": false, "linkSupport": true}, "typeDefinition": {"dynamicRegistration": false, "linkSupport": true}, "documentSymbol": {"dynamicRegistration": false, "hierarchicalDocumentSymbolSupport": true, "symbolKind": {"valueSet": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]}}, "documentHighlight": {"dynamicRegistration": false}, "codeAction": {"dynamicRegistration": false, "resolveSupport": {"properties": ["edit", "command"]}, "dataSupport": true, "codeActionLiteralSupport": {"codeActionKind": {"valueSet": ["quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports"]}}, "isPreferredSupport": true}, "formatting": {"dynamicRegistration": false}, "rangeFormatting": {"dynamicRegistration": false}, "rename": {"dynamicRegistration": false, "prepareSupport": true}, "semanticTokens": {"dynamicRegistration": false, "requests": {"full": {"delta": true}}, "overlappingTokenSupport": true, "multilineTokenSupport": true, "tokenTypes": ["namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator"], "tokenModifiers": ["declaration", "definition", "readonly", "static", "deprecated", "abstract", "async", "modification", "documentation", "defaultLibrary"], "formats": ["relative"]}, "inlayHint": {"dynamicRegistration": false}, "callHierarchy": {"dynamicRegistration": false}, "typeHierarchy": {"dynamicRegistration": false}, "diagnostic": {"dynamicRegistration": false}, "publishDiagnostics": {"relatedInformation": false, "versionSupport": true, "codeDescriptionSupport": false, "tagSupport": {"valueSet": [1, 2]}}}, "window": {"showDocument": {"support": true}, "showMessage": {"messageActionItem": {"additionalPropertiesSupport": true}}, "workDoneProgress": false}, "general": {"positionEncodings": ["utf-16"]}, "experimental": {}}, "workspaceFolders": [{"uri": "file:///home/bbigras/tmp/test", "name": "~/tmp/test/"}]}}
[stderr]  e[15:37:49.553] [tix#1] --> initialize[1] {"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"processId": 581931, "clientInfo": {"name": "Eglot", "version": "1.23"}, "rootPath": "/home/bbigras/tmp/test/", "rootUri": "file:///home/bbigras/tmp/test", "initializationOptions": {}, "capabilities": {"workspace": {"applyEdit": true, "executeCommand": {"dynamicRegistration": false}, "workspaceEdit": {"documentChanges": true, "resourceOperations": ["create", "delete", "rename"], "failureHandling": "abort"}, "didChangeWatchedFiles": {"dynamicRegistration": true, "relativePatternSupport": true}, "symbol": {"dynamicRegistration": false}, "semanticTokens": {"refreshSupport": true}, "configuration": true, "workspaceFolders": true}, "textDocument": {"synchronization": {"dynamicRegistration": false, "willSave": true, "willSaveWaitUntil": true, "didSave": true}, "completion": {"dynamicRegistration": false, "completionItem": {"snippetSupport": false, "deprecatedSupport": true, "resolveSupport": {"properties": ["documentation", "details", "additionalTextEdits"]}, "tagSupport": {"valueSet": [1]}, "insertReplaceSupport": true}, "contextSupport": true}, "hover": {"dynamicRegistration": false, "contentFormat": ["markdown", "plaintext"]}, "signatureHelp": {"dynamicRegistration": false, "signatureInformation": {"parameterInformation": {"labelOffsetSupport": true}, "documentationFormat": ["markdown", "plaintext"], "activeParameterSupport": true}}, "references": {"dynamicRegistration": false}, "definition": {"dynamicRegistration": false, "linkSupport": true}, "declaration": {"dynamicRegistration": false, "linkSupport": true}, "implementation": {"dynamicRegistration": false, "linkSupport": true}, "typeDefinition": {"dynamicRegistration": false, "linkSupport": true}, "documentSymbol": {"dynamicRegistration": false, "hierarchicalDocumentSymbolSupport": true, "symbolKind": {"valueSet": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]}}, "documentHighlight": {"dynamicRegistration": false}, "codeAction": {"dynamicRegistration": false, "resolveSupport": {"properties": ["edit", "command"]}, "dataSupport": true, "codeActionLiteralSupport": {"codeActionKind": {"valueSet": ["quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports"]}}, "isPreferredSupport": true}, "formatting": {"dynamicRegistration": false}, "rangeFormatting": {"dynamicRegistration": false}, "rename": {"dynamicRegistration": false, "prepareSupport": true}, "semanticTokens": {"dynamicRegistration": false, "requests": {"full": {"delta": true}}, "overlappingTokenSupport": true, "multilineTokenSupport": true, "tokenTypes": ["namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator"], "tokenModifiers": ["declaration", "definition", "readonly", "static", "deprecated", "abstract", "async", "modification", "documentation", "defaultLibrary"], "formats": ["relative"]}, "inlayHint": {"dynamicRegistration": false}, "callHierarchy": {"dynamicRegistration": false}, "typeHierarchy": {"dynamicRegistration": false}, "diagnostic": {"dynamicRegistration": false}, "publishDiagnostics": {"relatedInformation": false, "versionSupport": true, "codeDescriptionSupport": false, "tagSupport": {"valueSet": [1, 2]}}}, "window": {"showDocument": {"support": true}, "showMessage": {"messageActionItem": {"additionalPropertiesSupport": true}}, "workDoneProgress": false}, "general": {"positionEncodings": ["utf-16"]}, "experimental": {}}, "workspaceFolders": [{"uri": "file:///home/bbigras/tmp/test", "name": "~/tmp/test/"}]}}
[stderr]  i[15:37:49.553] [tix#1] [2026-04-09T19:37:49Z INFO  tix_lsp] tix lsp 0.1.0 starting (pid 582334)
[stderr]  i[15:37:49.553] [tix#1] [2026-04-09T19:37:49Z INFO  tix_lsp] Detected system memory: 31848 MiB
[stderr]  i[15:37:49.554] [tix#1] [2026-04-09T19:37:49Z INFO  tix_lsp] RSS limit for inference: 25478 MiB
[stderr]  i[15:37:49.554] [tix#1] [2026-04-09T19:37:49Z INFO  tix_lsp] RLIMIT_AS set to 63695 MiB
[stderr]  i[15:37:49.559] [tix#1] [2026-04-09T19:37:49Z INFO  tix_lsp] Initial registry: 29 type aliases, 0 global vals
[stderr]  i[15:37:49.559] [tix#1] [2026-04-09T19:37:49Z INFO  tix_lsp::server] Workspace root: file:///home/bbigras/tmp/test
[stderr]  i[15:37:49.559] [tix#1] [2026-04-09T19:37:49Z INFO  tix_lsp::server] Client: Eglot v1.23
[stderr]  i[15:37:49.559] [tix#1] [2026-04-09T19:37:49Z INFO  tix_lsp::server] No tix.toml found
[stderr]  e[15:37:49.560] [tix#1] <-- initialize[1] {"jsonrpc": "2.0", "result": {"capabilities": {"codeActionProvider": true, "completionProvider": {"resolveProvider": true, "triggerCharacters": ["."]}, "definitionProvider": true, "documentFormattingProvider": true, "documentHighlightProvider": true, "documentLinkProvider": {"resolveProvider": false}, "documentSymbolProvider": true, "hoverProvider": true, "inlayHintProvider": true, "referencesProvider": true, "renameProvider": {"prepareProvider": true}, "selectionRangeProvider": true, "semanticTokensProvider": {"full": true, "legend": {"tokenModifiers": ["definition", "defaultLibrary"], "tokenTypes": ["variable", "parameter", "property", "function", "keyword", "string", "number", "comment", "operator"]}}, "signatureHelpProvider": {"triggerCharacters": [" "]}, "textDocumentSync": 1, "typeDefinitionProvider": true, "workspaceSymbolProvider": true}}, "id": 1}
[stderr]  d[15:37:49.560] Message from tix#1 starts aggregation for initialize (139901049201264)
[stderr]  i[15:37:49.573] [nixd] V[15:37:49.572] 582333: <<< {"id":1,"jsonrpc":"2.0","method":"initialize","params":{"capabilities":{"experimental":{},"general":{"positionEncodings":["utf-16"]},"textDocument":{"callHierarchy":{"dynamicRegistration":false},"codeAction":{"codeActionLiteralSupport":{"codeActionKind":{"valueSet":["quickfix","refactor","refactor.extract","refactor.inline","refactor.rewrite","source","source.organizeImports"]}},"dataSupport":true,"dynamicRegistration":false,"isPreferredSupport":true,"resolveSupport":{"properties":["edit","command"]}},"completion":{"completionItem":{"deprecatedSupport":true,"insertReplaceSupport":true,"resolveSupport":{"properties":["documentation","details","additionalTextEdits"]},"snippetSupport":false,"tagSupport":{"valueSet":[1]}},"contextSupport":true,"dynamicRegistration":false},"declaration":{"dynamicRegistration":false,"linkSupport":true},"definition":{"dynamicRegistration":false,"linkSupport":true},"diagnostic":{"dynamicRegistration":false},"documentHighlight":{"dynamicRegistration":false},"documentSymbol":{"dynamicRegistration":false,"hierarchicalDocumentSymbolSupport":true,"symbolKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]}},"formatting":{"dynamicRegistration":false},"hover":{"contentFormat":["markdown","plaintext"],"dynamicRegistration":false},"implementation":{"dynamicRegistration":false,"linkSupport":true},"inlayHint":{"dynamicRegistration":false},"publishDiagnostics":{"codeDescriptionSupport":false,"relatedInformation":false,"tagSupport":{"valueSet":[1,2]},"versionSupport":true},"rangeFormatting":{"dynamicRegistration":false},"references":{"dynamicRegistration":false},"rename":{"dynamicRegistration":false,"prepareSupport":true},"semanticTokens":{"dynamicRegistration":false,"formats":["relative"],"multilineTokenSupport":true,"overlappingTokenSupport":true,"requests":{"full":{"delta":true}},"tokenModifiers":["declaration","definition","readonly","static","deprecated","abstract","async","modification","documentation","defaultLibrary"],"tokenTypes":["namespace","type","class","enum","interface","struct","typeParameter","parameter","variable","property","enumMember","event","function","method","macro","keyword","modifier","comment","string","number","regexp","operator","decorator"]},"signatureHelp":{"dynamicRegistration":false,"signatureInformation":{"activeParameterSupport":true,"documentationFormat":["markdown","plaintext"],"parameterInformation":{"labelOffsetSupport":true}}},"synchronization":{"didSave":true,"dynamicRegistration":false,"willSave":true,"willSaveWaitUntil":true},"typeDefinition":{"dynamicRegistration":false,"linkSupport":true},"typeHierarchy":{"dynamicRegistration":false}},"window":{"showDocument":{"support":true},"showMessage":{"messageActionItem":{"additionalPropertiesSupport":true}},"workDoneProgress":false},"workspace":{"applyEdit":true,"configuration":true,"didChangeWatchedFiles":{"dynamicRegistration":true,"relativePatternSupport":true},"executeCommand":{"dynamicRegistration":false},"semanticTokens":{"refreshSupport":true},"symbol":{"dynamicRegistration":false},"workspaceEdit":{"documentChanges":true,"failureHandling":"abort","resourceOperations":["create","delete","rename"]},"workspaceFolders":true}},"clientInfo":{"name":"Eglot","version":"1.23"},"initializationOptions":{},"processId":581931,"rootPath":"/home/bbigras/tmp/test/","rootUri":"file:///home/bbigras/tmp/test","workspaceFolders":[{"name":"~/tmp/test/","uri":"file:///home/bbigras/tmp/test"}]}}
[stderr]  i[15:37:49.573] [nixd] I[15:37:49.573] 582333: <-- initialize(1)
[stderr]  i[15:37:49.573] [nixd] I[15:37:49.573] 582333: --> reply:initialize(1)
[stderr]  i[15:37:49.573] [nixd] V[15:37:49.573] 582333: >>> {"id":1,"jsonrpc":"2.0","result":{"capabilities":{"codeActionProvider":{"codeActionKinds":["quickfix","refactor","refactor.rewrite"],"resolveProvider":true},"completionProvider":{"resolveProvider":true,"triggerCharacters":["."]},"definitionProvider":true,"documentFormattingProvider":true,"documentHighlightProvider":true,"documentLinkProvider":{},"documentSymbolProvider":true,"foldingRangeProvider":true,"hoverProvider":true,"inlayHintProvider":true,"referencesProvider":true,"renameProvider":{"prepareProvider":true},"textDocumentSync":{"change":2,"openClose":true,"save":true}},"serverInfo":{"name":"nixd","version":"2.9.0"}}}
[stderr]  e[15:37:49.573] [nixd] <-- initialize[1] {"id": 1, "jsonrpc": "2.0", "result": {"capabilities": {"codeActionProvider": {"codeActionKinds": ["quickfix", "refactor", "refactor.rewrite"], "resolveProvider": true}, "completionProvider": {"resolveProvider": true, "triggerCharacters": ["."]}, "definitionProvider": true, "documentFormattingProvider": true, "documentHighlightProvider": true, "documentLinkProvider": {}, "documentSymbolProvider": true, "foldingRangeProvider": true, "hoverProvider": true, "inlayHintProvider": true, "referencesProvider": true, "renameProvider": {"prepareProvider": true}, "textDocumentSync": {"change": 2, "openClose": true, "save": true}}, "serverInfo": {"name": "nixd", "version": "2.9.0"}}}
[stderr]  d[15:37:49.573] Message from nixd continues aggregation for initialize (139901049201264)
[stderr]  d[15:37:49.573] Completing aggregation for initialize (139901049201264)!
[stderr]  e[15:37:49.573] <-- initialize[1] {"result": {"capabilities": {"codeActionProvider": {"codeActionKinds": ["quickfix", "refactor", "refactor.rewrite"], "resolveProvider": true}, "completionProvider": {"resolveProvider": true, "triggerCharacters": [".", "."]}, "definitionProvider": true, "documentFormattingProvider": true, "documentHighlightProvider": true, "documentLinkProvider": {"resolveProvider": false}, "documentSymbolProvider": true, "hoverProvider": true, "inlayHintProvider": true, "referencesProvider": true, "renameProvider": {"prepareProvider": true}, "selectionRangeProvider": true, "semanticTokensProvider": {"full": true, "legend": {"tokenModifiers": ["definition", "defaultLibrary"], "tokenTypes": ["variable", "parameter", "property", "function", "keyword", "string", "number", "comment", "operator"]}}, "signatureHelpProvider": {"triggerCharacters": [" "]}, "textDocumentSync": {"change": 2, "openClose": true, "save": true}, "typeDefinitionProvider": true, "workspaceSymbolProvider": true, "foldingRangeProvider": true, "$streamingDiagnosticsProvider": true}, "serverInfo": {"name": "nixd", "version": "2.9.0"}}, "id": 1, "jsonrpc": "2.0"}
[stderr]  i[15:37:49.573] [nixd] I[15:37:49.573] 582333: --> call attrset/evalExpr(1)
[stderr]  i[15:37:49.573] [nixd] V[15:37:49.573] 582333: >>> {"id":1,"jsonrpc":"2.0","method":"attrset/evalExpr","params":"import <nixpkgs> { }"}
[stderr]  i[15:37:49.574] [nixd] I[15:37:49.574] 582333: --> call attrset/evalExpr(1)
[stderr]  i[15:37:49.574] [nixd] V[15:37:49.574] 582333: >>> {"id":1,"jsonrpc":"2.0","method":"attrset/evalExpr","params":"(let pkgs = import <nixpkgs> { }; in (pkgs.lib.evalModules { modules =  (import <nixpkgs/nixos/modules/module-list.nix>) ++ [ ({...}: { nixpkgs.hostPlatform = builtins.currentSystem;} ) ] ; })).options"}
[stderr]  i[15:37:49.574] [nixd] I[15:37:49.574] 582333: --> call workspace/configuration(1)
[stderr]  i[15:37:49.574] [nixd] V[15:37:49.574] 582333: >>> {"id":1,"jsonrpc":"2.0","method":"workspace/configuration","params":{"items":[{"section":"nixd"}]}}
[stderr]  e[15:37:49.574] [nixd] <-s workspace/configuration[1] {"id": 1, "jsonrpc": "2.0", "method": "workspace/configuration", "params": {"items": [{"section": "nixd"}]}}
[stderr]  e[15:37:49.574] <-s workspace/configuration[0] {"id": 0, "jsonrpc": "2.0", "method": "workspace/configuration", "params": {"items": [{"section": "nixd"}]}}
[stderr]  e[15:37:49.575] --> initialized {"jsonrpc": "2.0", "method": "initialized", "params": {}}
[stderr]  e[15:37:49.575] [nixd] --> initialized {"jsonrpc": "2.0", "method": "initialized", "params": {}}
[stderr]  e[15:37:49.575] [tix#1] --> initialized {"jsonrpc": "2.0", "method": "initialized", "params": {}}
[stderr]  i[15:37:49.575] [nixd] V[15:37:49.575] 582333: <<< {"jsonrpc":"2.0","method":"initialized","params":{}}
[stderr]  i[15:37:49.575] [nixd] I[15:37:49.575] 582333: <-- initialized
[stderr]  i[15:37:49.575] [tix#1] [2026-04-09T19:37:49Z INFO  tix_lsp::server] tix lsp ready — 29 type aliases, 0 global vals, diagnostics on, inlay hints on
[stderr]  e[15:37:49.575] [tix#1] <-- window/logMessage {"jsonrpc": "2.0", "method": "window/logMessage", "params": {"message": "tix lsp ready — 29 type aliases, 0 global vals, diagnostics on, inlay hints on", "type": 3}}
[stderr]  e[15:37:49.575] <-- window/logMessage {"jsonrpc": "2.0", "method": "window/logMessage", "params": {"message": "tix lsp ready — 29 type aliases, 0 global vals, diagnostics on, inlay hints on", "type": 3}}
[stderr]  e[15:37:49.579] --> textDocument/didOpen {"jsonrpc": "2.0", "method": "textDocument/didOpen", "params": {"textDocument": {"uri": "file:///home/bbigras/tmp/test/flake.nix", "version": 0, "languageId": "nix", "text": "{\n  description = \"Description for the project\";\n\n  inputs = {\n    flake-parts.url = \"github:hercules-ci/flake-parts\";\n    nixpkgs.url = \"github:NixOS/nixpkgs/nixos-unstable\";\n  };\n\n  outputs = inputs@{ flake-parts, ... }:\n    flake-parts.lib.mkFlake { inherit inputs; } {\n      imports = [\n        # To import an internal flake module: ./other.nix\n        # To import an external flake module:\n        #   1. Add foo to inputs\n        #   2. Add foo as a parameter to the outputs function\n        #   3. Add here: foo.flakeModule\n\n      ];\n      systems = [ \"x86_64-linux\" \"aarch64-linux\" \"aarch64-darwin\" \"x86_64-darwin\" ];\n      perSystem = { config, self', inputs', pkgs, system, ... }: {\n        # Per-system attributes can be defined here. The self' and inputs'\n        # module parameters provide easy access to attributes of the same\n        # system.\n\n        # Equivalent to  inputs'.nixpkgs.legacyPackages.hello;\n        packages.default = pkgs.hello;\n      };\n      flake = {\n        # The usual flake attributes can be defined here, including system-\n        # agnostic ones like nixosModule and system-enumerating ones, although\n        # those are more easily expressed in perSystem.\n\n      };\n    };\n}\n"}}}
[stderr]  e[15:37:49.579] [nixd] --> textDocument/didOpen {"jsonrpc": "2.0", "method": "textDocument/didOpen", "params": {"textDocument": {"uri": "file:///home/bbigras/tmp/test/flake.nix", "version": 0, "languageId": "nix", "text": "{\n  description = \"Description for the project\";\n\n  inputs = {\n    flake-parts.url = \"github:hercules-ci/flake-parts\";\n    nixpkgs.url = \"github:NixOS/nixpkgs/nixos-unstable\";\n  };\n\n  outputs = inputs@{ flake-parts, ... }:\n    flake-parts.lib.mkFlake { inherit inputs; } {\n      imports = [\n        # To import an internal flake module: ./other.nix\n        # To import an external flake module:\n        #   1. Add foo to inputs\n        #   2. Add foo as a parameter to the outputs function\n        #   3. Add here: foo.flakeModule\n\n      ];\n      systems = [ \"x86_64-linux\" \"aarch64-linux\" \"aarch64-darwin\" \"x86_64-darwin\" ];\n      perSystem = { config, self', inputs', pkgs, system, ... }: {\n        # Per-system attributes can be defined here. The self' and inputs'\n        # module parameters provide easy access to attributes of the same\n        # system.\n\n        # Equivalent to  inputs'.nixpkgs.legacyPackages.hello;\n        packages.default = pkgs.hello;\n      };\n      flake = {\n        # The usual flake attributes can be defined here, including system-\n        # agnostic ones like nixosModule and system-enumerating ones, although\n        # those are more easily expressed in perSystem.\n\n      };\n    };\n}\n"}}}
[stderr]  e[15:37:49.579] [tix#1] --> textDocument/didOpen {"jsonrpc": "2.0", "method": "textDocument/didOpen", "params": {"textDocument": {"uri": "file:///home/bbigras/tmp/test/flake.nix", "version": 0, "languageId": "nix", "text": "{\n  description = \"Description for the project\";\n\n  inputs = {\n    flake-parts.url = \"github:hercules-ci/flake-parts\";\n    nixpkgs.url = \"github:NixOS/nixpkgs/nixos-unstable\";\n  };\n\n  outputs = inputs@{ flake-parts, ... }:\n    flake-parts.lib.mkFlake { inherit inputs; } {\n      imports = [\n        # To import an internal flake module: ./other.nix\n        # To import an external flake module:\n        #   1. Add foo to inputs\n        #   2. Add foo as a parameter to the outputs function\n        #   3. Add here: foo.flakeModule\n\n      ];\n      systems = [ \"x86_64-linux\" \"aarch64-linux\" \"aarch64-darwin\" \"x86_64-darwin\" ];\n      perSystem = { config, self', inputs', pkgs, system, ... }: {\n        # Per-system attributes can be defined here. The self' and inputs'\n        # module parameters provide easy access to attributes of the same\n        # system.\n\n        # Equivalent to  inputs'.nixpkgs.legacyPackages.hello;\n        packages.default = pkgs.hello;\n      };\n      flake = {\n        # The usual flake attributes can be defined here, including system-\n        # agnostic ones like nixosModule and system-enumerating ones, although\n        # those are more easily expressed in perSystem.\n\n      };\n    };\n}\n"}}}
[stderr]  i[15:37:49.580] [nixd] V[15:37:49.579] 582333: <<< {"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"languageId":"nix","text":"{\n  description = \"Description for the project\";\n\n  inputs = {\n    flake-parts.url = \"github:hercules-ci/flake-parts\";\n    nixpkgs.url = \"github:NixOS/nixpkgs/nixos-unstable\";\n  };\n\n  outputs = inputs@{ flake-parts, ... }:\n    flake-parts.lib.mkFlake { inherit inputs; } {\n      imports = [\n        # To import an internal flake module: ./other.nix\n        # To import an external flake module:\n        #   1. Add foo to inputs\n        #   2. Add foo as a parameter to the outputs function\n        #   3. Add here: foo.flakeModule\n\n      ];\n      systems = [ \"x86_64-linux\" \"aarch64-linux\" \"aarch64-darwin\" \"x86_64-darwin\" ];\n      perSystem = { config, self', inputs', pkgs, system, ... }: {\n        # Per-system attributes can be defined here. The self' and inputs'\n        # module parameters provide easy access to attributes of the same\n        # system.\n\n        # Equivalent to  inputs'.nixpkgs.legacyPackages.hello;\n        packages.default = pkgs.hello;\n      };\n      flake = {\n        # The usual flake attributes can be defined here, including system-\n        # agnostic ones like nixosModule and system-enumerating ones, although\n        # those are more easily expressed in perSystem.\n\n      };\n    };\n}\n","uri":"file:///home/bbigras/tmp/test/flake.nix","version":0}}}
[stderr]  i[15:37:49.580] [nixd] I[15:37:49.579] 582333: <-- textDocument/didOpen
[stderr]  i[15:37:49.580] [nixd] I[15:37:49.580] 582333: --> notify textDocument/publishDiagnostics
[stderr]  i[15:37:49.580] [nixd] V[15:37:49.580] 582333: >>> {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"diagnostics":[{"code":"sema-unused-def-lambda-noarg-formal","message":"attribute `config` of argument is not used","range":{"end":{"character":26,"line":19},"start":{"character":20,"line":19}},"relatedInformation":[],"severity":2,"source":"nixf","tags":[1]},{"code":"sema-unused-def-lambda-noarg-formal","message":"attribute `inputs'` of argument is not used","range":{"end":{"character":42,"line":19},"start":{"character":35,"line":19}},"relatedInformation":[],"severity":2,"source":"nixf","tags":[1]},{"code":"sema-unused-def-lambda-noarg-formal","message":"attribute `self'` of argument is not used","range":{"end":{"character":33,"line":19},"start":{"character":28,"line":19}},"relatedInformation":[],"severity":2,"source":"nixf","tags":[1]},{"code":"sema-unused-def-lambda-noarg-formal","message":"attribute `system` of argument is not used","range":{"end":{"character":56,"line":19},"start":{"character":50,"line":19}},"relatedInformation":[],"severity":2,"source":"nixf","tags":[1]}],"uri":"file:///home/bbigras/tmp/test/flake.nix","version":0}}
[stderr]  e[15:37:49.580] [nixd] <-- textDocument/publishDiagnostics {"jsonrpc": "2.0", "method": "textDocument/publishDiagnostics", "params": {"diagnostics": [{"code": "sema-unused-def-lambda-noarg-formal", "message": "attribute `config` of argument is not used", "range": {"end": {"character": 26, "line": 19}, "start": {"character": 20, "line": 19}}, "relatedInformation": [], "severity": 2, "source": "nixf", "tags": [1]}, {"code": "sema-unused-def-lambda-noarg-formal", "message": "attribute `inputs'` of argument is not used", "range": {"end": {"character": 42, "line": 19}, "start": {"character": 35, "line": 19}}, "relatedInformation": [], "severity": 2, "source": "nixf", "tags": [1]}, {"code": "sema-unused-def-lambda-noarg-formal", "message": "attribute `self'` of argument is not used", "range": {"end": {"character": 33, "line": 19}, "start": {"character": 28, "line": 19}}, "relatedInformation": [], "severity": 2, "source": "nixf", "tags": [1]}, {"code": "sema-unused-def-lambda-noarg-formal", "message": "attribute `system` of argument is not used", "range": {"end": {"character": 56, "line": 19}, "start": {"character": 50, "line": 19}}, "relatedInformation": [], "severity": 2, "source": "nixf", "tags": [1]}], "uri": "file:///home/bbigras/tmp/test/flake.nix", "version": 0}}
[stderr]  e[15:37:49.580] <-- $/streamDiagnostics {"jsonrpc": "2.0", "method": "$/streamDiagnostics", "params": {"diagnostics": [{"code": "sema-unused-def-lambda-noarg-formal", "message": "attribute `config` of argument is not used", "range": {"end": {"character": 26, "line": 19}, "start": {"character": 20, "line": 19}}, "relatedInformation": [], "severity": 2, "source": "nixf", "tags": [1], "data": 139901049279872}, {"code": "sema-unused-def-lambda-noarg-formal", "message": "attribute `inputs'` of argument is not used", "range": {"end": {"character": 42, "line": 19}, "start": {"character": 35, "line": 19}}, "relatedInformation": [], "severity": 2, "source": "nixf", "tags": [1], "data": 139901049280640}, {"code": "sema-unused-def-lambda-noarg-formal", "message": "attribute `self'` of argument is not used", "range": {"end": {"character": 33, "line": 19}, "start": {"character": 28, "line": 19}}, "relatedInformation": [], "severity": 2, "source": "nixf", "tags": [1], "data": 139901049281024}, {"code": "sema-unused-def-lambda-noarg-formal", "message": "attribute `system` of argument is not used", "range": {"end": {"character": 56, "line": 19}, "start": {"character": 50, "line": 19}}, "relatedInformation": [], "severity": 2, "source": "nixf", "tags": [1], "data": 139901049281408}], "uri": "file:///home/bbigras/tmp/test/flake.nix", "version": 0, "token": "nixd-139901049199248"}}
[stderr]  i[15:37:49.580] [tix#1] [2026-04-09T19:37:49Z INFO  tix_lsp::server] flake.nix: total 0.4ms (parse 0.2ms, lower 0.0ms, nameres 0.0ms, imports 0.0ms, check 0.2ms)
[stderr]  e[15:37:49.580] [tix#1] <-- window/logMessage {"jsonrpc": "2.0", "method": "window/logMessage", "params": {"message": "flake.nix: total 0.4ms (parse 0.2ms, lower 0.0ms, nameres 0.0ms, imports 0.0ms, check 0.2ms)", "type": 3}}
[stderr]  e[15:37:49.580] <-- window/logMessage {"jsonrpc": "2.0", "method": "window/logMessage", "params": {"message": "flake.nix: total 0.4ms (parse 0.2ms, lower 0.0ms, nameres 0.0ms, imports 0.0ms, check 0.2ms)", "type": 3}}
[stderr]  e[15:37:49.581] --> workspace/didChangeConfiguration {"jsonrpc": "2.0", "method": "workspace/didChangeConfiguration", "params": {"settings": {}}}
[stderr]  e[15:37:49.581] [nixd] --> workspace/didChangeConfiguration {"jsonrpc": "2.0", "method": "workspace/didChangeConfiguration", "params": {"settings": {}}}
[stderr]  e[15:37:49.581] [tix#1] --> workspace/didChangeConfiguration {"jsonrpc": "2.0", "method": "workspace/didChangeConfiguration", "params": {"settings": {}}}
[stderr]  i[15:37:49.581] [nixd] V[15:37:49.581] 582333: <<< {"jsonrpc":"2.0","method":"workspace/didChangeConfiguration","params":{"settings":{}}}
[stderr]  i[15:37:49.581] [nixd] I[15:37:49.581] 582333: <-- workspace/didChangeConfiguration
[stderr]  i[15:37:49.581] [nixd] I[15:37:49.581] 582333: --> call workspace/configuration(2)
[stderr]  i[15:37:49.581] [nixd] V[15:37:49.581] 582333: >>> {"id":2,"jsonrpc":"2.0","method":"workspace/configuration","params":{"items":[{"section":"nixd"}]}}
[stderr]  e[15:37:49.581] [nixd] <-s workspace/configuration[2] {"id": 2, "jsonrpc": "2.0", "method": "workspace/configuration", "params": {"items": [{"section": "nixd"}]}}
[stderr]  e[15:37:49.581] <-s workspace/configuration[1] {"id": 1, "jsonrpc": "2.0", "method": "workspace/configuration", "params": {"items": [{"section": "nixd"}]}}
[stderr]  e[15:37:49.582] [nixd] s-> workspace/configuration[1] {"jsonrpc": "2.0", "id": 1, "result": [null]}
[stderr]  i[15:37:49.582] [nixd] V[15:37:49.582] 582333: <<< {"id":1,"jsonrpc":"2.0","result":[null]}
[stderr]  i[15:37:49.582] [nixd] I[15:37:49.582] 582333: <-- reply(1)
[stderr]  i[15:37:49.582] [nixd] E[15:37:49.582] 582333: workspace/configuration: parse error expected object
[stderr]  e[15:37:49.582] --> textDocument/semanticTokens/full[2] {"jsonrpc": "2.0", "id": 2, "method": "textDocument/semanticTokens/full", "params": {"textDocument": {"uri": "file:///home/bbigras/tmp/test/flake.nix"}}}
[stderr]  e[15:37:49.582] [nixd] --> textDocument/semanticTokens/full[2] {"jsonrpc": "2.0", "id": 2, "method": "textDocument/semanticTokens/full", "params": {"textDocument": {"uri": "file:///home/bbigras/tmp/test/flake.nix"}}}
[stderr]  i[15:37:49.583] [nixd] V[15:37:49.583] 582333: <<< {"id":2,"jsonrpc":"2.0","method":"textDocument/semanticTokens/full","params":{"textDocument":{"uri":"file:///home/bbigras/tmp/test/flake.nix"}}}
[stderr]  i[15:37:49.583] [nixd] I[15:37:49.583] 582333: <-- textDocument/semanticTokens/full(2)
[stderr]  i[15:37:49.583] [nixd] I[15:37:49.583] 582333: --> reply:textDocument/semanticTokens/full(2)
[stderr]  i[15:37:49.583] [nixd] V[15:37:49.583] 582333: >>> {"id":2,"jsonrpc":"2.0","result":{"data":[1,2,11,10,0,0,14,29,1,0,2,2,6,10,0,1,4,11,10,0,0,12,3,10,0,0,6,32,1,0,1,4,7,10,0,0,8,3,10,0,0,6,37,1,0,3,2,7,10,0,0,10,6,11,0,0,9,11,12,0,1,4,11,5,0,0,12,3,3,0,0,4,7,3,0,1,6,7,10,0,8,6,7,10,0,0,12,14,1,0,0,15,15,1,0,0,16,16,1,0,0,17,15,1,0,1,6,9,10,0,0,14,6,12,0,0,8,5,12,0,0,7,7,12,0,0,9,4,12,0,0,6,6,12,0,6,8,8,10,0,0,9,7,10,0,0,10,4,5,0,0,5,5,3,0,2,6,5,10,0],"resultId":""}}
[stderr]  e[15:37:49.583] [nixd] <-- textDocument/semanticTokens/full[2] {"id": 2, "jsonrpc": "2.0", "result": {"data": [1, 2, 11, 10, 0, 0, 14, 29, 1, 0, 2, 2, 6, 10, 0, 1, 4, 11, 10, 0, 0, 12, 3, 10, 0, 0, 6, 32, 1, 0, 1, 4, 7, 10, 0, 0, 8, 3, 10, 0, 0, 6, 37, 1, 0, 3, 2, 7, 10, 0, 0, 10, 6, 11, 0, 0, 9, 11, 12, 0, 1, 4, 11, 5, 0, 0, 12, 3, 3, 0, 0, 4, 7, 3, 0, 1, 6, 7, 10, 0, 8, 6, 7, 10, 0, 0, 12, 14, 1, 0, 0, 15, 15, 1, 0, 0, 16, 16, 1, 0, 0, 17, 15, 1, 0, 1, 6, 9, 10, 0, 0, 14, 6, 12, 0, 0, 8, 5, 12, 0, 0, 7, 7, 12, 0, 0, 9, 4, 12, 0, 0, 6, 6, 12, 0, 6, 8, 8, 10, 0, 0, 9, 7, 10, 0, 0, 10, 4, 5, 0, 0, 5, 5, 3, 0, 2, 6, 5, 10, 0], "resultId": ""}}
[stderr]  e[15:37:49.583] <-- textDocument/semanticTokens/full[2] {"id": 2, "jsonrpc": "2.0", "result": {"data": [1, 2, 11, 10, 0, 0, 14, 29, 1, 0, 2, 2, 6, 10, 0, 1, 4, 11, 10, 0, 0, 12, 3, 10, 0, 0, 6, 32, 1, 0, 1, 4, 7, 10, 0, 0, 8, 3, 10, 0, 0, 6, 37, 1, 0, 3, 2, 7, 10, 0, 0, 10, 6, 11, 0, 0, 9, 11, 12, 0, 1, 4, 11, 5, 0, 0, 12, 3, 3, 0, 0, 4, 7, 3, 0, 1, 6, 7, 10, 0, 8, 6, 7, 10, 0, 0, 12, 14, 1, 0, 0, 15, 15, 1, 0, 0, 16, 16, 1, 0, 0, 17, 15, 1, 0, 1, 6, 9, 10, 0, 0, 14, 6, 12, 0, 0, 8, 5, 12, 0, 0, 7, 7, 12, 0, 0, 9, 4, 12, 0, 0, 6, 6, 12, 0, 6, 8, 8, 10, 0, 0, 9, 7, 10, 0, 0, 10, 4, 5, 0, 0, 5, 5, 3, 0, 2, 6, 5, 10, 0], "resultId": ""}}
[stderr]  e[15:37:49.587] [nixd] s-> workspace/configuration[2] {"jsonrpc": "2.0", "id": 2, "result": [null]}
[stderr]  i[15:37:49.588] [nixd] V[15:37:49.588] 582333: <<< {"id":2,"jsonrpc":"2.0","result":[null]}
[stderr]  i[15:37:49.588] [nixd] I[15:37:49.588] 582333: <-- reply(2)
[stderr]  i[15:37:49.588] [nixd] E[15:37:49.588] 582333: workspace/configuration: parse error expected object
[stderr]  e[15:37:49.781] [tix#1] <-- textDocument/publishDiagnostics {"jsonrpc": "2.0", "method": "textDocument/publishDiagnostics", "params": {"diagnostics": [{"code": "E014", "codeDescription": {"href": "https://jrmurr.github.io/tix/diagnostics/e014.html"}, "message": "type of `default` could not be inferred — consider adding a type annotation or stub", "range": {"end": {"character": 24, "line": 25}, "start": {"character": 17, "line": 25}}, "severity": 4, "source": "tix"}], "uri": "file:///home/bbigras/tmp/test/flake.nix", "version": 0}}
[stderr]  e[15:37:49.782] <-- $/streamDiagnostics {"jsonrpc": "2.0", "method": "$/streamDiagnostics", "params": {"diagnostics": [{"code": "E014", "codeDescription": {"href": "https://jrmurr.github.io/tix/diagnostics/e014.html"}, "message": "type of `default` could not be inferred — consider adding a type annotation or stub", "range": {"end": {"character": 24, "line": 25}, "start": {"character": 17, "line": 25}}, "severity": 4, "source": "tix", "data": 139901049274624}], "uri": "file:///home/bbigras/tmp/test/flake.nix", "version": 0, "token": "tix#1-139901049225296"}}
[stderr]  i[15:37:49.841] [nixd] V[15:37:49.840] 582333: <<< {"id":1,"jsonrpc":"2.0","result":null}
[stderr]  i[15:37:49.841] [nixd] I[15:37:49.840] 582333: <-- reply(1)
[stderr]  e[15:37:50.010] --> textDocument/codeAction[3] {"jsonrpc": "2.0", "id": 3, "method": "textDocument/codeAction", "params": {"textDocument": {"uri": "file:///home/bbigras/tmp/test/flake.nix"}, "range": {"start": {"line": 0, "character": 0}, "end": {"line": 0, "character": 0}}, "context": {"diagnostics": [], "triggerKind": 2}}}
[stderr]  e[15:37:50.010] --> textDocument/documentHighlight[4] {"jsonrpc": "2.0", "id": 4, "method": "textDocument/documentHighlight", "params": {"textDocument": {"uri": "file:///home/bbigras/tmp/test/flake.nix"}, "position": {"line": 0, "character": 0}}}
[stderr]  e[15:37:50.010] --> textDocument/hover[5] {"jsonrpc": "2.0", "id": 5, "method": "textDocument/hover", "params": {"textDocument": {"uri": "file:///home/bbigras/tmp/test/flake.nix"}, "position": {"line": 0, "character": 0}}}
[stderr]  e[15:37:50.010] --> textDocument/signatureHelp[6] {"jsonrpc": "2.0", "id": 6, "method": "textDocument/signatureHelp", "params": {"textDocument": {"uri": "file:///home/bbigras/tmp/test/flake.nix"}, "position": {"line": 0, "character": 0}}}
[stderr]  e[15:37:50.010] [nixd] --> textDocument/codeAction[3] {"jsonrpc": "2.0", "id": 3, "method": "textDocument/codeAction", "params": {"textDocument": {"uri": "file:///home/bbigras/tmp/test/flake.nix"}, "range": {"start": {"line": 0, "character": 0}, "end": {"line": 0, "character": 0}}, "context": {"diagnostics": [], "triggerKind": 2}}}
[stderr]  e[15:37:50.010] [tix#1] --> textDocument/codeAction[3] {"jsonrpc": "2.0", "id": 3, "method": "textDocument/codeAction", "params": {"textDocument": {"uri": "file:///home/bbigras/tmp/test/flake.nix"}, "range": {"start": {"line": 0, "character": 0}, "end": {"line": 0, "character": 0}}, "context": {"diagnostics": [], "triggerKind": 2}}}
[stderr]  e[15:37:50.010] [nixd] --> textDocument/documentHighlight[4] {"jsonrpc": "2.0", "id": 4, "method": "textDocument/documentHighlight", "params": {"textDocument": {"uri": "file:///home/bbigras/tmp/test/flake.nix"}, "position": {"line": 0, "character": 0}}}
[stderr]  e[15:37:50.010] [nixd] --> textDocument/hover[5] {"jsonrpc": "2.0", "id": 5, "method": "textDocument/hover", "params": {"textDocument": {"uri": "file:///home/bbigras/tmp/test/flake.nix"}, "position": {"line": 0, "character": 0}}}
[stderr]  e[15:37:50.010] [nixd] --> textDocument/signatureHelp[6] {"jsonrpc": "2.0", "id": 6, "method": "textDocument/signatureHelp", "params": {"textDocument": {"uri": "file:///home/bbigras/tmp/test/flake.nix"}, "position": {"line": 0, "character": 0}}}
[stderr]  i[15:37:50.010] [nixd] V[15:37:50.010] 582333: <<< {"id":3,"jsonrpc":"2.0","method":"textDocument/codeAction","params":{"context":{"diagnostics":[],"triggerKind":2},"range":{"end":{"character":0,"line":0},"start":{"character":0,"line":0}},"textDocument":{"uri":"file:///home/bbigras/tmp/test/flake.nix"}}}
[stderr]  i[15:37:50.010] [nixd] I[15:37:50.010] 582333: <-- textDocument/codeAction(3)
[stderr]  i[15:37:50.010] [nixd] V[15:37:50.010] 582333: <<< {"id":4,"jsonrpc":"2.0","method":"textDocument/documentHighlight","params":{"position":{"character":0,"line":0},"textDocument":{"uri":"file:///home/bbigras/tmp/test/flake.nix"}}}
[stderr]  i[15:37:50.010] [nixd] I[15:37:50.010] 582333: <-- textDocument/documentHighlight(4)
[stderr]  i[15:37:50.010] [nixd] V[15:37:50.010] 582333: <<< {"id":5,"jsonrpc":"2.0","method":"textDocument/hover","params":{"position":{"character":0,"line":0},"textDocument":{"uri":"file:///home/bbigras/tmp/test/flake.nix"}}}
[stderr]  i[15:37:50.010] [nixd] I[15:37:50.010] 582333: <-- textDocument/hover(5)
[stderr]  i[15:37:50.010] [nixd] V[15:37:50.010] 582333: <<< {"id":6,"jsonrpc":"2.0","method":"textDocument/signatureHelp","params":{"position":{"character":0,"line":0},"textDocument":{"uri":"file:///home/bbigras/tmp/test/flake.nix"}}}
[stderr]  i[15:37:50.010] [nixd] I[15:37:50.010] 582333: <-- textDocument/signatureHelp(6)
[stderr]  i[15:37:50.010] [nixd] I[15:37:50.010] 582333: --> reply:textDocument/hover(5)
[stderr]  i[15:37:50.011] [nixd] V[15:37:50.010] 582333: >>> {"id":5,"jsonrpc":"2.0","result":null}
[stderr]  i[15:37:50.011] [nixd] E[15:37:50.010] 582333: textDocument/documentHighlight failed: cannot find variable on given node
[stderr]  i[15:37:50.011] [nixd] I[15:37:50.010] 582333: --> reply:textDocument/documentHighlight(4)
[stderr]  e[15:37:50.011] [nixd] <-- textDocument/hover[5] {"id": 5, "jsonrpc": "2.0", "result": null}
[stderr]  e[15:37:50.011] <-- textDocument/hover[5] {"id": 5, "jsonrpc": "2.0", "result": null}
[stderr]  i[15:37:50.011] [nixd] V[15:37:50.011] 582333: >>> {"id":4,"jsonrpc":"2.0","result":[]}
[stderr]  i[15:37:50.011] [nixd] I[15:37:50.011] 582333: --> reply:textDocument/codeAction(3)
[stderr]  e[15:37:50.011] [nixd] <-- textDocument/documentHighlight[4] {"id": 4, "jsonrpc": "2.0", "result": []}
[stderr]  e[15:37:50.011] <-- textDocument/documentHighlight[4] {"id": 4, "jsonrpc": "2.0", "result": []}
[stderr]  e[15:37:50.011] [tix#1] <-- textDocument/codeAction[3] {"jsonrpc": "2.0", "result": null, "id": 3}
[stderr]  d[15:37:50.011] Message from tix#1 starts aggregation for textDocument/codeAction (139901049226576)
[stderr]  i[15:37:50.011] [nixd] V[15:37:50.011] 582333: >>> {"id":3,"jsonrpc":"2.0","result":[{"edit":{"documentChanges":[{"kind":"create","options":{"ignoreIfExists":false,"overwrite":false},"uri":"file:///home/bbigras/tmp/test/extracted-attrs.nix"},{"edits":[{"newText":"{\n  description = \"Description for the project\";\n\n  inputs = {\n    flake-parts.url = \"github:hercules-ci/flake-parts\";\n    nixpkgs.url = \"github:NixOS/nixpkgs/nixos-unstable\";\n  };\n\n  outputs = inputs@{ flake-parts, ... }:\n    flake-parts.lib.mkFlake { inherit inputs; } {\n      imports = [\n        # To import an internal flake module: ./other.nix\n        # To import an external flake module:\n        #   1. Add foo to inputs\n        #   2. Add foo as a parameter to the outputs function\n        #   3. Add here: foo.flakeModule\n\n      ];\n      systems = [ \"x86_64-linux\" \"aarch64-linux\" \"aarch64-darwin\" \"x86_64-darwin\" ];\n      perSystem = { config, self', inputs', pkgs, system, ... }: {\n        # Per-system attributes can be defined here. The self' and inputs'\n        # module parameters provide easy access to attributes of the same\n        # system.\n\n        # Equivalent to  inputs'.nixpkgs.legacyPackages.hello;\n        packages.default = pkgs.hello;\n      };\n      flake = {\n        # The usual flake attributes can be defined here, including system-\n        # agnostic ones like nixosModule and system-enumerating ones, although\n        # those are more easily expressed in perSystem.\n\n      };\n    };\n}\n","range":{"end":{"character":0,"line":0},"start":{"character":0,"line":0}}}],"textDocument":{"uri":"file:///home/bbigras/tmp/test/extracted-attrs.nix","version":0}},{"edits":[{"newText":"import ./extracted-attrs.nix","range":{"end":{"character":1,"line":34},"start":{"character":0,"line":0}}}],"textDocument":{"uri":"file:///home/bbigras/tmp/test/flake.nix","version":null}}]},"kind":"refactor","title":"Extract to extracted-attrs.nix"}]}
[stderr]  e[15:37:50.011] [nixd] <-- textDocument/codeAction[3] {"id": 3, "jsonrpc": "2.0", "result": [{"edit": {"documentChanges": [{"kind": "create", "options": {"ignoreIfExists": false, "overwrite": false}, "uri": "file:///home/bbigras/tmp/test/extracted-attrs.nix"}, {"edits": [{"newText": "{\n  description = \"Description for the project\";\n\n  inputs = {\n    flake-parts.url = \"github:hercules-ci/flake-parts\";\n    nixpkgs.url = \"github:NixOS/nixpkgs/nixos-unstable\";\n  };\n\n  outputs = inputs@{ flake-parts, ... }:\n    flake-parts.lib.mkFlake { inherit inputs; } {\n      imports = [\n        # To import an internal flake module: ./other.nix\n        # To import an external flake module:\n        #   1. Add foo to inputs\n        #   2. Add foo as a parameter to the outputs function\n        #   3. Add here: foo.flakeModule\n\n      ];\n      systems = [ \"x86_64-linux\" \"aarch64-linux\" \"aarch64-darwin\" \"x86_64-darwin\" ];\n      perSystem = { config, self', inputs', pkgs, system, ... }: {\n        # Per-system attributes can be defined here. The self' and inputs'\n        # module parameters provide easy access to attributes of the same\n        # system.\n\n        # Equivalent to  inputs'.nixpkgs.legacyPackages.hello;\n        packages.default = pkgs.hello;\n      };\n      flake = {\n        # The usual flake attributes can be defined here, including system-\n        # agnostic ones like nixosModule and system-enumerating ones, although\n        # those are more easily expressed in perSystem.\n\n      };\n    };\n}\n", "range": {"end": {"character": 0, "line": 0}, "start": {"character": 0, "line": 0}}}], "textDocument": {"uri": "file:///home/bbigras/tmp/test/extracted-attrs.nix", "version": 0}}, {"edits": [{"newText": "import ./extracted-attrs.nix", "range": {"end": {"character": 1, "line": 34}, "start": {"character": 0, "line": 0}}}], "textDocument": {"uri": "file:///home/bbigras/tmp/test/flake.nix", "version": null}}]}, "kind": "refactor", "title": "Extract to extracted-attrs.nix"}]}
[stderr]  d[15:37:50.011] Message from nixd continues aggregation for textDocument/codeAction (139901049226576)
[stderr]  d[15:37:50.011] Completing aggregation for textDocument/codeAction (139901049226576)!
[stderr]  e[15:37:50.011] <-- textDocument/codeAction[3] {"result": [{"edit": {"documentChanges": [{"kind": "create", "options": {"ignoreIfExists": false, "overwrite": false}, "uri": "file:///home/bbigras/tmp/test/extracted-attrs.nix"}, {"edits": [{"newText": "{\n  description = \"Description for the project\";\n\n  inputs = {\n    flake-parts.url = \"github:hercules-ci/flake-parts\";\n    nixpkgs.url = \"github:NixOS/nixpkgs/nixos-unstable\";\n  };\n\n  outputs = inputs@{ flake-parts, ... }:\n    flake-parts.lib.mkFlake { inherit inputs; } {\n      imports = [\n        # To import an internal flake module: ./other.nix\n        # To import an external flake module:\n        #   1. Add foo to inputs\n        #   2. Add foo as a parameter to the outputs function\n        #   3. Add here: foo.flakeModule\n\n      ];\n      systems = [ \"x86_64-linux\" \"aarch64-linux\" \"aarch64-darwin\" \"x86_64-darwin\" ];\n      perSystem = { config, self', inputs', pkgs, system, ... }: {\n        # Per-system attributes can be defined here. The self' and inputs'\n        # module parameters provide easy access to attributes of the same\n        # system.\n\n        # Equivalent to  inputs'.nixpkgs.legacyPackages.hello;\n        packages.default = pkgs.hello;\n      };\n      flake = {\n        # The usual flake attributes can be defined here, including system-\n        # agnostic ones like nixosModule and system-enumerating ones, although\n        # those are more easily expressed in perSystem.\n\n      };\n    };\n}\n", "range": {"end": {"character": 0, "line": 0}, "start": {"character": 0, "line": 0}}}], "textDocument": {"uri": "file:///home/bbigras/tmp/test/extracted-attrs.nix", "version": 0}}, {"edits": [{"newText": "import ./extracted-attrs.nix", "range": {"end": {"character": 1, "line": 34}, "start": {"character": 0, "line": 0}}}], "textDocument": {"uri": "file:///home/bbigras/tmp/test/flake.nix", "version": null}}]}, "kind": "refactor", "title": "Extract to extracted-attrs.nix", "data": 139901049105664}], "id": 3, "jsonrpc": "2.0"}
[stderr]  i[15:37:50.012] [nixd] I[15:37:50.011] 582333: --> notify exit
[stderr]  i[15:37:50.012] [nixd] V[15:37:50.011] 582333: >>> {"jsonrpc":"2.0","method":"exit","params":null}
[stderr]  i[15:37:50.268] [nixd] I[15:37:50.268] 582333: --> notify exit
[stderr]  i[15:37:50.268] [nixd] V[15:37:50.268] 582333: >>> {"jsonrpc":"2.0","method":"exit","params":null}
[stderr]  i[15:37:50.280] Error: Server nixd died unexpectedly
[stderr]  i[15:37:50.280] Fatal error: Server nixd crashed
[jsonrpc] D[15:37:50.292] Connection state change: `exited abnormally with code 1
'

----------b---y---e---b---y---e----------
[stderr]  
[stderr]  Process EGLOT (test/(nix-mode)) stderr finished

Configuration

To Reproduce

  1. add https://github.com/kn66/eglot-multi-preset to emacs
  2. create a flake.nix with nix flake init -t github:hercules-ci/flake-parts
  3. open flake.nix in emacs, C-u M-x eglot and use rass --log-level debug -- nixd -- tix lsp
  4. error

Expected behavior

not a crash

Screenshots

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions