Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pkgs.<name> always returns "attrname not found in attrset" when using without with pkgs; statement #629

Open
she11sh0cked opened this issue Dec 19, 2024 · 8 comments
Labels
bug Something isn't working nixd:controller

Comments

@she11sh0cked
Copy link

she11sh0cked commented Dec 19, 2024

Describe the bug
When attempting to retrieve information about a specific package using pkgs.<name>, an error is consistently returned:

attrname <name> not found in attrset

Logs (Required)

Excerpt

V[19:51:29.129] 366730: <<< {"jsonrpc":"2.0","id":28,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///home/she11sh0cked/.config/home-manager/home/default.nix"},"position":{"line":51,"character":14}}}
I[19:51:29.129] 366730: <-- textDocument/hover(28)
I[19:51:29.129] 366730: --> call attrset/optionInfo(3)
V[19:51:29.129] 366730: >>> {"id":3,"jsonrpc":"2.0","method":"attrset/optionInfo","params":["nixd"]}
V[19:51:29.130] 366730: <<< {"error":{"code":-32001,"message":"attrname nixd not found in attrset"},"id":3,"jsonrpc":"2.0"}
I[19:51:29.130] 366730: <-- reply(3)
E[19:51:29.130] 366730: options hover: -32001: attrname nixd not found in attrset
I[19:51:29.130] 366730: --> call attrset/optionInfo(2)
V[19:51:29.130] 366730: >>> {"id":2,"jsonrpc":"2.0","method":"attrset/optionInfo","params":["nixd"]}
V[19:51:29.130] 366730: <<< {"error":{"code":-32001,"message":"attrname nixd not found in attrset"},"id":2,"jsonrpc":"2.0"}
I[19:51:29.130] 366730: <-- reply(2)
E[19:51:29.130] 366730: options hover: -32001: attrname nixd not found in attrset
I[19:51:29.130] 366730: --> reply:textDocument/hover(28)
V[19:51:29.130] 366730: >>> {"id":28,"jsonrpc":"2.0","result":{"contents":{"kind":"markdown","value":"`Identifier`"},"range":{"end":{"character":15,"line":51},"start":{"character":11,"line":51}}}}

Full

V[20:00:58.906] 388717: <<< {"jsonrpc":"2.0","id":0,"method":"initialize","params":{"processId":366637,"clientInfo":{"name":"Visual Studio Code - Insiders","version":"1.96.0"},"locale":"en","rootPath":"/home/she11sh0cked/.config/home-manager","rootUri":"file:///home/she11sh0cked/.config/home-manager","capabilities":{"workspace":{"applyEdit":true,"workspaceEdit":{"documentChanges":true,"resourceOperations":["create","rename","delete"],"failureHandling":"textOnlyTransactional","normalizesLineEndings":true,"changeAnnotationSupport":{"groupsOnLabel":true}},"configuration":true,"didChangeWatchedFiles":{"dynamicRegistration":true,"relativePatternSupport":true},"symbol":{"dynamicRegistration":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]},"tagSupport":{"valueSet":[1]},"resolveSupport":{"properties":["location.range"]}},"codeLens":{"refreshSupport":true},"executeCommand":{"dynamicRegistration":true},"didChangeConfiguration":{"dynamicRegistration":true},"workspaceFolders":true,"foldingRange":{"refreshSupport":true},"semanticTokens":{"refreshSupport":true},"fileOperations":{"dynamicRegistration":true,"didCreate":true,"didRename":true,"didDelete":true,"willCreate":true,"willRename":true,"willDelete":true},"inlineValue":{"refreshSupport":true},"inlayHint":{"refreshSupport":true},"diagnostics":{"refreshSupport":true}},"textDocument":{"publishDiagnostics":{"relatedInformation":true,"versionSupport":false,"tagSupport":{"valueSet":[1,2]},"codeDescriptionSupport":true,"dataSupport":true},"synchronization":{"dynamicRegistration":true,"willSave":true,"willSaveWaitUntil":true,"didSave":true},"completion":{"dynamicRegistration":true,"contextSupport":true,"completionItem":{"snippetSupport":true,"commitCharactersSupport":true,"documentationFormat":["markdown","plaintext"],"deprecatedSupport":true,"preselectSupport":true,"tagSupport":{"valueSet":[1]},"insertReplaceSupport":true,"resolveSupport":{"properties":["documentation","detail","additionalTextEdits"]},"insertTextModeSupport":{"valueSet":[1,2]},"labelDetailsSupport":true},"insertTextMode":2,"completionItemKind":{"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]},"completionList":{"itemDefaults":["commitCharacters","editRange","insertTextFormat","insertTextMode","data"]}},"hover":{"dynamicRegistration":true,"contentFormat":["markdown","plaintext"]},"signatureHelp":{"dynamicRegistration":true,"signatureInformation":{"documentationFormat":["markdown","plaintext"],"parameterInformation":{"labelOffsetSupport":true},"activeParameterSupport":true},"contextSupport":true},"definition":{"dynamicRegistration":true,"linkSupport":true},"references":{"dynamicRegistration":true},"documentHighlight":{"dynamicRegistration":true},"documentSymbol":{"dynamicRegistration":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]},"hierarchicalDocumentSymbolSupport":true,"tagSupport":{"valueSet":[1]},"labelSupport":true},"codeAction":{"dynamicRegistration":true,"isPreferredSupport":true,"disabledSupport":true,"dataSupport":true,"resolveSupport":{"properties":["edit"]},"codeActionLiteralSupport":{"codeActionKind":{"valueSet":["","quickfix","refactor","refactor.extract","refactor.inline","refactor.rewrite","source","source.organizeImports"]}},"honorsChangeAnnotations":true},"codeLens":{"dynamicRegistration":true},"formatting":{"dynamicRegistration":true},"rangeFormatting":{"dynamicRegistration":true,"rangesSupport":true},"onTypeFormatting":{"dynamicRegistration":true},"rename":{"dynamicRegistration":true,"prepareSupport":true,"prepareSupportDefaultBehavior":1,"honorsChangeAnnotations":true},"documentLink":{"dynamicRegistration":true,"tooltipSupport":true},"typeDefinition":{"dynamicRegistration":true,"linkSupport":true},"implementation":{"dynamicRegistration":true,"linkSupport":true},"colorProvider":{"dynamicRegistration":true},"foldingRange":{"dynamicRegistration":true,"rangeLimit":5000,"lineFoldingOnly":true,"foldingRangeKind":{"valueSet":["comment","imports","region"]},"foldingRange":{"collapsedText":false}},"declaration":{"dynamicRegistration":true,"linkSupport":true},"selectionRange":{"dynamicRegistration":true},"callHierarchy":{"dynamicRegistration":true},"semanticTokens":{"dynamicRegistration":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"],"requests":{"range":true,"full":{"delta":true}},"multilineTokenSupport":false,"overlappingTokenSupport":false,"serverCancelSupport":true,"augmentsSyntaxTokens":true},"linkedEditingRange":{"dynamicRegistration":true},"typeHierarchy":{"dynamicRegistration":true},"inlineValue":{"dynamicRegistration":true},"inlayHint":{"dynamicRegistration":true,"resolveSupport":{"properties":["tooltip","textEdits","label.tooltip","label.location","label.command"]}},"diagnostic":{"dynamicRegistration":true,"relatedDocumentSupport":false},"inlineCompletion":{"dynamicRegistration":true}},"window":{"showMessage":{"messageActionItem":{"additionalPropertiesSupport":true}},"showDocument":{"support":true},"workDoneProgress":true},"general":{"staleRequestSupport":{"cancel":true,"retryOnContentModified":["textDocument/semanticTokens/full","textDocument/semanticTokens/range","textDocument/semanticTokens/full/delta"]},"regularExpressions":{"engine":"ECMAScript","version":"ES2020"},"markdown":{"parser":"marked","version":"1.1.0"},"positionEncodings":["utf-16"]},"notebookDocument":{"synchronization":{"dynamicRegistration":true,"executionSummarySupport":true}}},"trace":"off","workspaceFolders":[{"uri":"file:///home/she11sh0cked/.config/home-manager","name":"home-manager"}]}}
I[20:00:58.906] 388717: <-- initialize(0)
I[20:00:58.906] 388717: --> reply:initialize(0)
V[20:00:58.906] 388717: >>> {"id":0,"jsonrpc":"2.0","result":{"capabilities":{"codeActionProvider":{"codeActionKinds":["quickfix"],"resolveProvider":false},"completionProvider":{"resolveProvider":true,"triggerCharacters":["."]},"definitionProvider":true,"documentFormattingProvider":true,"documentHighlightProvider":true,"documentLinkProvider":{},"documentSymbolProvider":true,"hoverProvider":true,"inlayHintProvider":true,"referencesProvider":true,"renameProvider":{"prepareProvider":true},"textDocumentSync":{"change":2,"openClose":true,"save":true}},"serverInfo":{"name":"nixd","version":"2.5.1"}}}
I[20:00:58.910] 388717: --> call window/workDoneProgress/create(1)
V[20:00:58.910] 388717: >>> {"id":1,"jsonrpc":"2.0","method":"window/workDoneProgress/create","params":{"token":1804289383}}
I[20:00:58.910] 388717: --> notify $/progress
V[20:00:58.910] 388717: >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":1804289383,"value":{"kind":"begin","title":"evaluating nixpkgs entries"}}}
I[20:00:58.910] 388717: --> call attrset/evalExpr(1)
V[20:00:58.910] 388717: >>> {"id":1,"jsonrpc":"2.0","method":"attrset/evalExpr","params":"import <nixpkgs> { }"}
I[20:00:58.911] 388717: --> call window/workDoneProgress/create(2)
V[20:00:58.911] 388717: >>> {"id":2,"jsonrpc":"2.0","method":"window/workDoneProgress/create","params":{"token":846930886}}
I[20:00:58.911] 388717: --> notify $/progress
V[20:00:58.911] 388717: >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":846930886,"value":{"kind":"begin","title":"evaluating nixos options"}}}
I[20:00:58.911] 388717: --> call attrset/evalExpr(1)
V[20:00:58.911] 388717: >>> {"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"}
I[20:00:58.912] 388717: --> call workspace/configuration(3)
V[20:00:58.912] 388717: >>> {"id":3,"jsonrpc":"2.0","method":"workspace/configuration","params":{"items":[{"section":"nixd"}]}}
V[20:00:58.912] 388717: <<< {"jsonrpc":"2.0","method":"initialized","params":{}}
I[20:00:58.912] 388717: <-- initialized
V[20:00:58.912] 388717: <<< {"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"file:///home/she11sh0cked/.config/home-manager/home/default.nix","languageId":"nix","version":1,"text":"# TODO: Add neovim configuration\n# TODO: Add zsh configuration\n# TODO: Add wallpaper: https://w.wallhaven.cc/full/k7/wallhaven-k76wg6.png\n\n{\n  inputs,\n  pkgs,\n  username,\n  ...\n}:\n{\n  imports = [\n    ./media/fastanime.nix\n    ./media/jerry.nix\n    ./media/mpv.nix\n    ./media/syncplay.nix\n    ./themes/catppuccin.nix\n    ./themes/gtk.nix\n    ./themes/plasma.nix\n    ./themes/spicetify.nix\n    ./tools/bat.nix\n    ./tools/btop.nix\n    ./tools/direnv.nix\n    ./tools/eza.nix\n    ./tools/fastfetch\n    ./tools/fnm.nix\n    ./tools/fzf.nix\n    ./tools/gh.nix\n    ./tools/git.nix\n    ./tools/grc.nix\n    ./tools/kitty.nix\n    ./tools/nh.nix\n    ./tools/starship.nix\n    ./tools/tmux.nix\n    ./tools/trash-cli.nix\n    ./tools/zoxide.nix\n    ./tools/zsh\n  ];\n\n  nix.nixPath = [ \"nixpkgs=${inputs.nixpkgs}\" ];\n\n  nixpkgs.config.allowUnfree = true;\n\n  nixGL.packages = inputs.nixGL.packages;\n\n  home = {\n    inherit username;\n    homeDirectory = \"/home/${username}\";\n    stateVersion = \"24.05\";\n\n    packages = [\n      pkgs.nixd\n      pkgs.nixfmt-rfc-style\n    ];\n\n    shellAliases = {\n      sudo = \"sudo --preserve-env=PATH env\"; # Make sudo preserve the PATH.\n    };\n  };\n\n  programs.home-manager.enable = true;\n}\n"}}}
I[20:00:58.912] 388717: <-- textDocument/didOpen
I[20:00:58.912] 388717: --> notify textDocument/publishDiagnostics
V[20:00:58.912] 388717: >>> {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"diagnostics":[],"uri":"file:///home/she11sh0cked/.config/home-manager/home/default.nix","version":1}}
V[20:00:58.912] 388717: <<< {"jsonrpc":"2.0","method":"workspace/didChangeConfiguration","params":{"settings":{"nix":{"formatterPath":"nixpkgs-fmt","serverPath":"nixd","enableLanguageServer":true,"serverSettings":{"nixd":{"options":{"home-manager":{"expr":"(builtins.getFlake \"/home/she11sh0cked/.config/home-manager\").homeConfigurations.she11sh0cked.options"}},"nixpkgs":{"expr":"import (builtins.getFlake \"/home/she11sh0cked/.config/home-manager\").inputs.nixpkgs { }"}}},"hiddenLanguageServerErrors":[]}}}}
I[20:00:58.912] 388717: <-- workspace/didChangeConfiguration
I[20:00:58.912] 388717: --> call workspace/configuration(4)
V[20:00:58.912] 388717: >>> {"id":4,"jsonrpc":"2.0","method":"workspace/configuration","params":{"items":[{"section":"nixd"}]}}
V[20:00:58.912] 388717: <<< {"jsonrpc":"2.0","id":1,"result":null}
I[20:00:58.912] 388717: <-- reply(1)
V[20:00:58.912] 388717: <<< {"jsonrpc":"2.0","id":2,"result":null}
I[20:00:58.912] 388717: <-- reply(2)
V[20:00:58.912] 388717: <<< {"jsonrpc":"2.0","id":3,"result":[{"options":{"home-manager":{"expr":"(builtins.getFlake \"/home/she11sh0cked/.config/home-manager\").homeConfigurations.she11sh0cked.options"}},"nixpkgs":{"expr":"import (builtins.getFlake \"/home/she11sh0cked/.config/home-manager\").inputs.nixpkgs { }"}}]}
I[20:00:58.912] 388717: <-- reply(3)
I[20:00:58.912] 388717: --> call window/workDoneProgress/create(5)
V[20:00:58.913] 388717: >>> {"id":5,"jsonrpc":"2.0","method":"window/workDoneProgress/create","params":{"token":1681692777}}
I[20:00:58.913] 388717: --> notify $/progress
V[20:00:58.913] 388717: <<< {"jsonrpc":"2.0","id":4,"result":[{"options":{"home-manager":{"expr":"(builtins.getFlake \"/home/she11sh0cked/.config/home-manager\").homeConfigurations.she11sh0cked.options"}},"nixpkgs":{"expr":"import (builtins.getFlake \"/home/she11sh0cked/.config/home-manager\").inputs.nixpkgs { }"}}]}
I[20:00:58.913] 388717: <-- reply(4)
V[20:00:58.913] 388717: >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":1681692777,"value":{"kind":"begin","title":"evaluating nixpkgs entries"}}}
I[20:00:58.913] 388717: --> call attrset/evalExpr(2)
V[20:00:58.913] 388717: >>> {"id":2,"jsonrpc":"2.0","method":"attrset/evalExpr","params":"import (builtins.getFlake \"/home/she11sh0cked/.config/home-manager\").inputs.nixpkgs { }"}
V[20:00:58.913] 388717: <<< {"jsonrpc":"2.0","id":5,"result":null}
I[20:00:58.913] 388717: <-- reply(5)
I[20:00:58.915] 388717: --> call window/workDoneProgress/create(6)
V[20:00:58.915] 388717: >>> {"id":6,"jsonrpc":"2.0","method":"window/workDoneProgress/create","params":{"token":1714636915}}
I[20:00:58.915] 388717: --> notify $/progress
V[20:00:58.915] 388717: >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":1714636915,"value":{"kind":"begin","title":"evaluating home-manager"}}}
I[20:00:58.915] 388717: --> call attrset/evalExpr(1)
V[20:00:58.915] 388717: >>> {"id":1,"jsonrpc":"2.0","method":"attrset/evalExpr","params":"(builtins.getFlake \"/home/she11sh0cked/.config/home-manager\").homeConfigurations.she11sh0cked.options"}
V[20:00:58.915] 388717: <<< {"jsonrpc":"2.0","id":6,"result":null}
I[20:00:58.915] 388717: <-- reply(6)
I[20:00:58.915] 388717: --> notify textDocument/publishDiagnostics
V[20:00:58.915] 388717: >>> {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"diagnostics":[],"uri":"file:///home/she11sh0cked/.config/home-manager/home/default.nix"}}
I[20:00:58.916] 388717: --> call window/workDoneProgress/create(7)
V[20:00:58.916] 388717: >>> {"id":7,"jsonrpc":"2.0","method":"window/workDoneProgress/create","params":{"token":1957747793}}
I[20:00:58.916] 388717: --> notify $/progress
V[20:00:58.916] 388717: >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":1957747793,"value":{"kind":"begin","title":"evaluating nixpkgs entries"}}}
I[20:00:58.916] 388717: --> call attrset/evalExpr(3)
V[20:00:58.916] 388717: >>> {"id":3,"jsonrpc":"2.0","method":"attrset/evalExpr","params":"import (builtins.getFlake \"/home/she11sh0cked/.config/home-manager\").inputs.nixpkgs { }"}
I[20:00:58.916] 388717: --> call window/workDoneProgress/create(8)
V[20:00:58.916] 388717: >>> {"id":8,"jsonrpc":"2.0","method":"window/workDoneProgress/create","params":{"token":424238335}}
V[20:00:58.916] 388717: <<< {"jsonrpc":"2.0","id":7,"result":null}
I[20:00:58.916] 388717: <-- reply(7)
I[20:00:58.916] 388717: --> notify $/progress
V[20:00:58.916] 388717: >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":424238335,"value":{"kind":"begin","title":"evaluating home-manager"}}}
I[20:00:58.917] 388717: --> call attrset/evalExpr(2)
V[20:00:58.917] 388717: >>> {"id":2,"jsonrpc":"2.0","method":"attrset/evalExpr","params":"(builtins.getFlake \"/home/she11sh0cked/.config/home-manager\").homeConfigurations.she11sh0cked.options"}
V[20:00:58.917] 388717: <<< {"jsonrpc":"2.0","id":8,"result":null}
I[20:00:58.917] 388717: <-- reply(8)
I[20:00:58.917] 388717: --> notify textDocument/publishDiagnostics
V[20:00:58.917] 388717: >>> {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"diagnostics":[],"uri":"file:///home/she11sh0cked/.config/home-manager/home/default.nix"}}
V[20:00:58.918] 388717: <<< {"jsonrpc":"2.0","id":1,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///home/she11sh0cked/.config/home-manager/home/default.nix"}}}
I[20:00:58.918] 388717: <-- textDocument/documentSymbol(1)
V[20:00:58.919] 388717: <<< {"jsonrpc":"2.0","id":2,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///home/she11sh0cked/.config/home-manager/home/default.nix"},"range":{"start":{"line":51,"character":15},"end":{"line":51,"character":15}},"context":{"diagnostics":[],"triggerKind":2}}}
I[20:00:58.919] 388717: <-- textDocument/codeAction(2)
I[20:00:58.919] 388717: --> reply:textDocument/codeAction(2)
V[20:00:58.919] 388717: >>> {"id":2,"jsonrpc":"2.0","result":[]}
I[20:00:58.920] 388717: --> reply:textDocument/documentSymbol(1)
V[20:00:58.920] 388717: >>> {"id":1,"jsonrpc":"2.0","result":[{"children":[{"children":[{"children":[{"detail":"string","kind":15,"name":"(dynamic string)","range":{"end":{"character":39,"line":47},"start":{"character":20,"line":47}},"selectionRange":{"end":{"character":39,"line":47},"start":{"character":20,"line":47}}}],"detail":"attribute","kind":8,"name":"homeDirectory","range":{"end":{"character":39,"line":47},"start":{"character":4,"line":47}},"selectionRange":{"end":{"character":17,"line":47},"start":{"character":4,"line":47}}},{"children":[{"children":[{"detail":"identifier","kind":14,"name":"pkgs","range":{"end":{"character":10,"line":51},"start":{"character":6,"line":51}},"selectionRange":{"end":{"character":10,"line":51},"start":{"character":6,"line":51}}},{"detail":"attribute name","kind":7,"name":"nixd","range":{"end":{"character":15,"line":51},"start":{"character":11,"line":51}},"selectionRange":{"end":{"character":15,"line":51},"start":{"character":11,"line":51}}},{"detail":"identifier","kind":14,"name":"pkgs","range":{"end":{"character":10,"line":52},"start":{"character":6,"line":52}},"selectionRange":{"end":{"character":10,"line":52},"start":{"character":6,"line":52}}},{"detail":"attribute name","kind":7,"name":"nixfmt-rfc-style","range":{"end":{"character":27,"line":52},"start":{"character":11,"line":52}},"selectionRange":{"end":{"character":27,"line":52},"start":{"character":11,"line":52}}}],"detail":"list","kind":18,"name":"{anonymous}","range":{"end":{"character":5,"line":53},"start":{"character":15,"line":50}},"selectionRange":{"end":{"character":5,"line":53},"start":{"character":15,"line":50}}}],"detail":"attribute","kind":8,"name":"packages","range":{"end":{"character":5,"line":53},"start":{"character":4,"line":50}},"selectionRange":{"end":{"character":12,"line":50},"start":{"character":4,"line":50}}},{"children":[{"children":[{"detail":"string","kind":15,"name":"sudo --preserve-env=PATH env","range":{"end":{"character":43,"line":56},"start":{"character":13,"line":56}},"selectionRange":{"end":{"character":43,"line":56},"start":{"character":13,"line":56}}}],"detail":"attribute","kind":8,"name":"sudo","range":{"end":{"character":43,"line":56},"start":{"character":6,"line":56}},"selectionRange":{"end":{"character":10,"line":56},"start":{"character":6,"line":56}}}],"detail":"attribute","kind":8,"name":"shellAliases","range":{"end":{"character":5,"line":57},"start":{"character":4,"line":55}},"selectionRange":{"end":{"character":16,"line":55},"start":{"character":4,"line":55}}},{"children":[{"detail":"string","kind":15,"name":"24.05","range":{"end":{"character":26,"line":48},"start":{"character":19,"line":48}},"selectionRange":{"end":{"character":26,"line":48},"start":{"character":19,"line":48}}}],"detail":"attribute","kind":8,"name":"stateVersion","range":{"end":{"character":26,"line":48},"start":{"character":4,"line":48}},"selectionRange":{"end":{"character":16,"line":48},"start":{"character":4,"line":48}}},{"children":[{"detail":"identifier","kind":14,"name":"username","range":{"end":{"character":20,"line":46},"start":{"character":12,"line":46}},"selectionRange":{"end":{"character":20,"line":46},"start":{"character":12,"line":46}}}],"detail":"attribute","kind":8,"name":"username","range":{"end":{"character":20,"line":46},"start":{"character":12,"line":46}},"selectionRange":{"end":{"character":20,"line":46},"start":{"character":12,"line":46}}}],"detail":"attribute","kind":8,"name":"home","range":{"end":{"character":3,"line":58},"start":{"character":2,"line":45}},"selectionRange":{"end":{"character":6,"line":45},"start":{"character":2,"line":45}}},{"children":[{"detail":"list","kind":18,"name":"{anonymous}","range":{"end":{"character":3,"line":37},"start":{"character":12,"line":11}},"selectionRange":{"end":{"character":3,"line":37},"start":{"character":12,"line":11}}}],"detail":"attribute","kind":8,"name":"imports","range":{"end":{"character":3,"line":37},"start":{"character":2,"line":11}},"selectionRange":{"end":{"character":9,"line":11},"start":{"character":2,"line":11}}},{"children":[{"children":[{"children":[{"detail":"string","kind":15,"name":"(dynamic string)","range":{"end":{"character":45,"line":39},"start":{"character":18,"line":39}},"selectionRange":{"end":{"character":45,"line":39},"start":{"character":18,"line":39}}}],"detail":"list","kind":18,"name":"{anonymous}","range":{"end":{"character":47,"line":39},"start":{"character":16,"line":39}},"selectionRange":{"end":{"character":47,"line":39},"start":{"character":16,"line":39}}}],"detail":"attribute","kind":8,"name":"nixPath","range":{"end":{"character":47,"line":39},"start":{"character":6,"line":39}},"selectionRange":{"end":{"character":13,"line":39},"start":{"character":6,"line":39}}}],"detail":"attribute","kind":8,"name":"nix","range":{"end":{"character":5,"line":39},"start":{"character":2,"line":39}},"selectionRange":{"end":{"character":5,"line":39},"start":{"character":2,"line":39}}},{"children":[{"children":[{"detail":"identifier","kind":14,"name":"inputs","range":{"end":{"character":25,"line":43},"start":{"character":19,"line":43}},"selectionRange":{"end":{"character":25,"line":43},"start":{"character":19,"line":43}}},{"detail":"attribute name","kind":7,"name":"nixGL","range":{"end":{"character":31,"line":43},"start":{"character":26,"line":43}},"selectionRange":{"end":{"character":31,"line":43},"start":{"character":26,"line":43}}},{"detail":"attribute name","kind":7,"name":"packages","range":{"end":{"character":40,"line":43},"start":{"character":32,"line":43}},"selectionRange":{"end":{"character":40,"line":43},"start":{"character":32,"line":43}}}],"detail":"attribute","kind":8,"name":"packages","range":{"end":{"character":40,"line":43},"start":{"character":8,"line":43}},"selectionRange":{"end":{"character":16,"line":43},"start":{"character":8,"line":43}}}],"detail":"attribute","kind":8,"name":"nixGL","range":{"end":{"character":7,"line":43},"start":{"character":2,"line":43}},"selectionRange":{"end":{"character":7,"line":43},"start":{"character":2,"line":43}}},{"children":[{"children":[{"children":[{"detail":"builtin boolean","kind":17,"name":"true","range":{"end":{"character":35,"line":41},"start":{"character":31,"line":41}},"selectionRange":{"end":{"character":35,"line":41},"start":{"character":31,"line":41}}}],"detail":"attribute","kind":8,"name":"allowUnfree","range":{"end":{"character":35,"line":41},"start":{"character":17,"line":41}},"selectionRange":{"end":{"character":28,"line":41},"start":{"character":17,"line":41}}}],"detail":"attribute","kind":8,"name":"config","range":{"end":{"character":16,"line":41},"start":{"character":10,"line":41}},"selectionRange":{"end":{"character":16,"line":41},"start":{"character":10,"line":41}}}],"detail":"attribute","kind":8,"name":"nixpkgs","range":{"end":{"character":9,"line":41},"start":{"character":2,"line":41}},"selectionRange":{"end":{"character":9,"line":41},"start":{"character":2,"line":41}}},{"children":[{"children":[{"children":[{"detail":"builtin boolean","kind":17,"name":"true","range":{"end":{"character":37,"line":60},"start":{"character":33,"line":60}},"selectionRange":{"end":{"character":37,"line":60},"start":{"character":33,"line":60}}}],"detail":"attribute","kind":8,"name":"enable","range":{"end":{"character":37,"line":60},"start":{"character":24,"line":60}},"selectionRange":{"end":{"character":30,"line":60},"start":{"character":24,"line":60}}}],"detail":"attribute","kind":8,"name":"home-manager","range":{"end":{"character":23,"line":60},"start":{"character":11,"line":60}},"selectionRange":{"end":{"character":23,"line":60},"start":{"character":11,"line":60}}}],"detail":"attribute","kind":8,"name":"programs","range":{"end":{"character":10,"line":60},"start":{"character":2,"line":60}},"selectionRange":{"end":{"character":10,"line":60},"start":{"character":2,"line":60}}}],"detail":"lambda","kind":12,"name":"(anonymous lambda)","range":{"end":{"character":1,"line":61},"start":{"character":0,"line":4}},"selectionRange":{"end":{"character":1,"line":9},"start":{"character":0,"line":4}}}]}
V[20:00:58.923] 388717: <<< {"jsonrpc":"2.0","id":3,"method":"textDocument/documentLink","params":{"textDocument":{"uri":"file:///home/she11sh0cked/.config/home-manager/home/default.nix"}}}
I[20:00:58.925] 388717: <-- textDocument/documentLink(3)
V[20:00:58.925] 388717: <<< {"jsonrpc":"2.0","id":4,"method":"textDocument/inlayHint","params":{"textDocument":{"uri":"file:///home/she11sh0cked/.config/home-manager/home/default.nix"},"range":{"start":{"line":0,"character":0},"end":{"line":62,"character":0}}}}
I[20:00:58.925] 388717: <-- textDocument/inlayHint(4)
I[20:00:58.925] 388717: --> reply:textDocument/inlayHint(4)
V[20:00:58.926] 388717: >>> {"id":4,"jsonrpc":"2.0","result":[]}
I[20:00:58.926] 388717: --> reply:textDocument/documentLink(3)
V[20:00:58.926] 388717: >>> {"id":3,"jsonrpc":"2.0","result":[{"range":{"end":{"character":25,"line":12},"start":{"character":4,"line":12}},"target":"file:///home/she11sh0cked/.config/home-manager/home/./media/fastanime.nix"},{"range":{"end":{"character":21,"line":13},"start":{"character":4,"line":13}},"target":"file:///home/she11sh0cked/.config/home-manager/home/./media/jerry.nix"},{"range":{"end":{"character":19,"line":14},"start":{"character":4,"line":14}},"target":"file:///home/she11sh0cked/.config/home-manager/home/./media/mpv.nix"},{"range":{"end":{"character":24,"line":15},"start":{"character":4,"line":15}},"target":"file:///home/she11sh0cked/.config/home-manager/home/./media/syncplay.nix"},{"range":{"end":{"character":27,"line":16},"start":{"character":4,"line":16}},"target":"file:///home/she11sh0cked/.config/home-manager/home/./themes/catppuccin.nix"},{"range":{"end":{"character":20,"line":17},"start":{"character":4,"line":17}},"target":"file:///home/she11sh0cked/.config/home-manager/home/./themes/gtk.nix"},{"range":{"end":{"character":23,"line":18},"start":{"character":4,"line":18}},"target":"file:///home/she11sh0cked/.config/home-manager/home/./themes/plasma.nix"},{"range":{"end":{"character":26,"line":19},"start":{"character":4,"line":19}},"target":"file:///home/she11sh0cked/.config/home-manager/home/./themes/spicetify.nix"},{"range":{"end":{"character":19,"line":20},"start":{"character":4,"line":20}},"target":"file:///home/she11sh0cked/.config/home-manager/home/./tools/bat.nix"},{"range":{"end":{"character":20,"line":21},"start":{"character":4,"line":21}},"target":"file:///home/she11sh0cked/.config/home-manager/home/./tools/btop.nix"},{"range":{"end":{"character":22,"line":22},"start":{"character":4,"line":22}},"target":"file:///home/she11sh0cked/.config/home-manager/home/./tools/direnv.nix"},{"range":{"end":{"character":19,"line":23},"start":{"character":4,"line":23}},"target":"file:///home/she11sh0cked/.config/home-manager/home/./tools/eza.nix"},{"range":{"end":{"character":21,"line":24},"start":{"character":4,"line":24}},"target":"file:///home/she11sh0cked/.config/home-manager/home/./tools/fastfetch/default.nix"},{"range":{"end":{"character":19,"line":25},"start":{"character":4,"line":25}},"target":"file:///home/she11sh0cked/.config/home-manager/home/./tools/fnm.nix"},{"range":{"end":{"character":19,"line":26},"start":{"character":4,"line":26}},"target":"file:///home/she11sh0cked/.config/home-manager/home/./tools/fzf.nix"},{"range":{"end":{"character":18,"line":27},"start":{"character":4,"line":27}},"target":"file:///home/she11sh0cked/.config/home-manager/home/./tools/gh.nix"},{"range":{"end":{"character":19,"line":28},"start":{"character":4,"line":28}},"target":"file:///home/she11sh0cked/.config/home-manager/home/./tools/git.nix"},{"range":{"end":{"character":19,"line":29},"start":{"character":4,"line":29}},"target":"file:///home/she11sh0cked/.config/home-manager/home/./tools/grc.nix"},{"range":{"end":{"character":21,"line":30},"start":{"character":4,"line":30}},"target":"file:///home/she11sh0cked/.config/home-manager/home/./tools/kitty.nix"},{"range":{"end":{"character":18,"line":31},"start":{"character":4,"line":31}},"target":"file:///home/she11sh0cked/.config/home-manager/home/./tools/nh.nix"},{"range":{"end":{"character":24,"line":32},"start":{"character":4,"line":32}},"target":"file:///home/she11sh0cked/.config/home-manager/home/./tools/starship.nix"},{"range":{"end":{"character":20,"line":33},"start":{"character":4,"line":33}},"target":"file:///home/she11sh0cked/.config/home-manager/home/./tools/tmux.nix"},{"range":{"end":{"character":25,"line":34},"start":{"character":4,"line":34}},"target":"file:///home/she11sh0cked/.config/home-manager/home/./tools/trash-cli.nix"},{"range":{"end":{"character":22,"line":35},"start":{"character":4,"line":35}},"target":"file:///home/she11sh0cked/.config/home-manager/home/./tools/zoxide.nix"},{"range":{"end":{"character":15,"line":36},"start":{"character":4,"line":36}},"target":"file:///home/she11sh0cked/.config/home-manager/home/./tools/zsh/default.nix"}]}
V[20:00:59.078] 388717: <<< {"id":1,"jsonrpc":"2.0","result":null}
I[20:00:59.078] 388717: <-- reply(1)
I[20:00:59.078] 388717: --> notify $/progress
V[20:00:59.078] 388717: >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":1804289383,"value":{"kind":"end","message":"evaluated nixpkgs entries"}}}
V[20:00:59.210] 388717: <<< {"id":2,"jsonrpc":"2.0","result":null}
I[20:00:59.210] 388717: <-- reply(2)
I[20:00:59.210] 388717: --> notify $/progress
V[20:00:59.210] 388717: >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":1681692777,"value":{"kind":"end","message":"evaluated nixpkgs entries"}}}
V[20:00:59.218] 388717: <<< {"jsonrpc":"2.0","id":5,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///home/she11sh0cked/.config/home-manager/home/default.nix"}}}
I[20:00:59.218] 388717: <-- textDocument/documentSymbol(5)
I[20:00:59.220] 388717: --> reply:textDocument/documentSymbol(5)
V[20:00:59.220] 388717: >>> {"id":5,"jsonrpc":"2.0","result":[{"children":[{"children":[{"children":[{"detail":"string","kind":15,"name":"(dynamic string)","range":{"end":{"character":39,"line":47},"start":{"character":20,"line":47}},"selectionRange":{"end":{"character":39,"line":47},"start":{"character":20,"line":47}}}],"detail":"attribute","kind":8,"name":"homeDirectory","range":{"end":{"character":39,"line":47},"start":{"character":4,"line":47}},"selectionRange":{"end":{"character":17,"line":47},"start":{"character":4,"line":47}}},{"children":[{"children":[{"detail":"identifier","kind":14,"name":"pkgs","range":{"end":{"character":10,"line":51},"start":{"character":6,"line":51}},"selectionRange":{"end":{"character":10,"line":51},"start":{"character":6,"line":51}}},{"detail":"attribute name","kind":7,"name":"nixd","range":{"end":{"character":15,"line":51},"start":{"character":11,"line":51}},"selectionRange":{"end":{"character":15,"line":51},"start":{"character":11,"line":51}}},{"detail":"identifier","kind":14,"name":"pkgs","range":{"end":{"character":10,"line":52},"start":{"character":6,"line":52}},"selectionRange":{"end":{"character":10,"line":52},"start":{"character":6,"line":52}}},{"detail":"attribute name","kind":7,"name":"nixfmt-rfc-style","range":{"end":{"character":27,"line":52},"start":{"character":11,"line":52}},"selectionRange":{"end":{"character":27,"line":52},"start":{"character":11,"line":52}}}],"detail":"list","kind":18,"name":"{anonymous}","range":{"end":{"character":5,"line":53},"start":{"character":15,"line":50}},"selectionRange":{"end":{"character":5,"line":53},"start":{"character":15,"line":50}}}],"detail":"attribute","kind":8,"name":"packages","range":{"end":{"character":5,"line":53},"start":{"character":4,"line":50}},"selectionRange":{"end":{"character":12,"line":50},"start":{"character":4,"line":50}}},{"children":[{"children":[{"detail":"string","kind":15,"name":"sudo --preserve-env=PATH env","range":{"end":{"character":43,"line":56},"start":{"character":13,"line":56}},"selectionRange":{"end":{"character":43,"line":56},"start":{"character":13,"line":56}}}],"detail":"attribute","kind":8,"name":"sudo","range":{"end":{"character":43,"line":56},"start":{"character":6,"line":56}},"selectionRange":{"end":{"character":10,"line":56},"start":{"character":6,"line":56}}}],"detail":"attribute","kind":8,"name":"shellAliases","range":{"end":{"character":5,"line":57},"start":{"character":4,"line":55}},"selectionRange":{"end":{"character":16,"line":55},"start":{"character":4,"line":55}}},{"children":[{"detail":"string","kind":15,"name":"24.05","range":{"end":{"character":26,"line":48},"start":{"character":19,"line":48}},"selectionRange":{"end":{"character":26,"line":48},"start":{"character":19,"line":48}}}],"detail":"attribute","kind":8,"name":"stateVersion","range":{"end":{"character":26,"line":48},"start":{"character":4,"line":48}},"selectionRange":{"end":{"character":16,"line":48},"start":{"character":4,"line":48}}},{"children":[{"detail":"identifier","kind":14,"name":"username","range":{"end":{"character":20,"line":46},"start":{"character":12,"line":46}},"selectionRange":{"end":{"character":20,"line":46},"start":{"character":12,"line":46}}}],"detail":"attribute","kind":8,"name":"username","range":{"end":{"character":20,"line":46},"start":{"character":12,"line":46}},"selectionRange":{"end":{"character":20,"line":46},"start":{"character":12,"line":46}}}],"detail":"attribute","kind":8,"name":"home","range":{"end":{"character":3,"line":58},"start":{"character":2,"line":45}},"selectionRange":{"end":{"character":6,"line":45},"start":{"character":2,"line":45}}},{"children":[{"detail":"list","kind":18,"name":"{anonymous}","range":{"end":{"character":3,"line":37},"start":{"character":12,"line":11}},"selectionRange":{"end":{"character":3,"line":37},"start":{"character":12,"line":11}}}],"detail":"attribute","kind":8,"name":"imports","range":{"end":{"character":3,"line":37},"start":{"character":2,"line":11}},"selectionRange":{"end":{"character":9,"line":11},"start":{"character":2,"line":11}}},{"children":[{"children":[{"children":[{"detail":"string","kind":15,"name":"(dynamic string)","range":{"end":{"character":45,"line":39},"start":{"character":18,"line":39}},"selectionRange":{"end":{"character":45,"line":39},"start":{"character":18,"line":39}}}],"detail":"list","kind":18,"name":"{anonymous}","range":{"end":{"character":47,"line":39},"start":{"character":16,"line":39}},"selectionRange":{"end":{"character":47,"line":39},"start":{"character":16,"line":39}}}],"detail":"attribute","kind":8,"name":"nixPath","range":{"end":{"character":47,"line":39},"start":{"character":6,"line":39}},"selectionRange":{"end":{"character":13,"line":39},"start":{"character":6,"line":39}}}],"detail":"attribute","kind":8,"name":"nix","range":{"end":{"character":5,"line":39},"start":{"character":2,"line":39}},"selectionRange":{"end":{"character":5,"line":39},"start":{"character":2,"line":39}}},{"children":[{"children":[{"detail":"identifier","kind":14,"name":"inputs","range":{"end":{"character":25,"line":43},"start":{"character":19,"line":43}},"selectionRange":{"end":{"character":25,"line":43},"start":{"character":19,"line":43}}},{"detail":"attribute name","kind":7,"name":"nixGL","range":{"end":{"character":31,"line":43},"start":{"character":26,"line":43}},"selectionRange":{"end":{"character":31,"line":43},"start":{"character":26,"line":43}}},{"detail":"attribute name","kind":7,"name":"packages","range":{"end":{"character":40,"line":43},"start":{"character":32,"line":43}},"selectionRange":{"end":{"character":40,"line":43},"start":{"character":32,"line":43}}}],"detail":"attribute","kind":8,"name":"packages","range":{"end":{"character":40,"line":43},"start":{"character":8,"line":43}},"selectionRange":{"end":{"character":16,"line":43},"start":{"character":8,"line":43}}}],"detail":"attribute","kind":8,"name":"nixGL","range":{"end":{"character":7,"line":43},"start":{"character":2,"line":43}},"selectionRange":{"end":{"character":7,"line":43},"start":{"character":2,"line":43}}},{"children":[{"children":[{"children":[{"detail":"builtin boolean","kind":17,"name":"true","range":{"end":{"character":35,"line":41},"start":{"character":31,"line":41}},"selectionRange":{"end":{"character":35,"line":41},"start":{"character":31,"line":41}}}],"detail":"attribute","kind":8,"name":"allowUnfree","range":{"end":{"character":35,"line":41},"start":{"character":17,"line":41}},"selectionRange":{"end":{"character":28,"line":41},"start":{"character":17,"line":41}}}],"detail":"attribute","kind":8,"name":"config","range":{"end":{"character":16,"line":41},"start":{"character":10,"line":41}},"selectionRange":{"end":{"character":16,"line":41},"start":{"character":10,"line":41}}}],"detail":"attribute","kind":8,"name":"nixpkgs","range":{"end":{"character":9,"line":41},"start":{"character":2,"line":41}},"selectionRange":{"end":{"character":9,"line":41},"start":{"character":2,"line":41}}},{"children":[{"children":[{"children":[{"detail":"builtin boolean","kind":17,"name":"true","range":{"end":{"character":37,"line":60},"start":{"character":33,"line":60}},"selectionRange":{"end":{"character":37,"line":60},"start":{"character":33,"line":60}}}],"detail":"attribute","kind":8,"name":"enable","range":{"end":{"character":37,"line":60},"start":{"character":24,"line":60}},"selectionRange":{"end":{"character":30,"line":60},"start":{"character":24,"line":60}}}],"detail":"attribute","kind":8,"name":"home-manager","range":{"end":{"character":23,"line":60},"start":{"character":11,"line":60}},"selectionRange":{"end":{"character":23,"line":60},"start":{"character":11,"line":60}}}],"detail":"attribute","kind":8,"name":"programs","range":{"end":{"character":10,"line":60},"start":{"character":2,"line":60}},"selectionRange":{"end":{"character":10,"line":60},"start":{"character":2,"line":60}}}],"detail":"lambda","kind":12,"name":"(anonymous lambda)","range":{"end":{"character":1,"line":61},"start":{"character":0,"line":4}},"selectionRange":{"end":{"character":1,"line":9},"start":{"character":0,"line":4}}}]}
V[20:00:59.253] 388717: <<< {"id":3,"jsonrpc":"2.0","result":null}
I[20:00:59.254] 388717: <-- reply(3)
I[20:00:59.254] 388717: --> notify $/progress
V[20:00:59.254] 388717: >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":1957747793,"value":{"kind":"end","message":"evaluated nixpkgs entries"}}}
V[20:00:59.523] 388717: <<< {"id":1,"jsonrpc":"2.0","result":null}
I[20:00:59.523] 388717: <-- reply(1)
I[20:00:59.523] 388717: --> notify $/progress
V[20:00:59.523] 388717: >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":846930886,"value":{"kind":"end","message":"evaluated nixos options"}}}
V[20:00:59.668] 388717: <<< {"id":1,"jsonrpc":"2.0","result":null}
I[20:00:59.668] 388717: <-- reply(1)
I[20:00:59.668] 388717: --> notify $/progress
V[20:00:59.668] 388717: >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":1714636915,"value":{"kind":"end","message":"evaluated home-manager"}}}
V[20:01:00.452] 388717: <<< {"id":2,"jsonrpc":"2.0","result":null}
I[20:01:00.452] 388717: <-- reply(2)
I[20:01:00.452] 388717: --> notify $/progress
V[20:01:00.452] 388717: >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":424238335,"value":{"kind":"end","message":"evaluated home-manager"}}}
V[20:01:05.347] 388717: <<< {"jsonrpc":"2.0","id":6,"method":"textDocument/inlayHint","params":{"textDocument":{"uri":"file:///home/she11sh0cked/.config/home-manager/home/default.nix"},"range":{"start":{"line":0,"character":0},"end":{"line":62,"character":0}}}}
I[20:01:05.347] 388717: <-- textDocument/inlayHint(6)
I[20:01:05.347] 388717: --> reply:textDocument/inlayHint(6)
V[20:01:05.347] 388717: >>> {"id":6,"jsonrpc":"2.0","result":[]}
V[20:01:08.831] 388717: <<< {"jsonrpc":"2.0","id":7,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///home/she11sh0cked/.config/home-manager/home/default.nix"},"position":{"line":51,"character":11}}}
I[20:01:08.831] 388717: <-- textDocument/hover(7)
I[20:01:08.831] 388717: --> call attrset/optionInfo(3)
V[20:01:08.831] 388717: >>> {"id":3,"jsonrpc":"2.0","method":"attrset/optionInfo","params":["nixd"]}
V[20:01:08.832] 388717: <<< {"error":{"code":-32001,"message":"attrname nixd not found in attrset"},"id":3,"jsonrpc":"2.0"}
I[20:01:08.832] 388717: <-- reply(3)
E[20:01:08.832] 388717: options hover: -32001: attrname nixd not found in attrset
I[20:01:08.832] 388717: --> call attrset/optionInfo(2)
V[20:01:08.832] 388717: >>> {"id":2,"jsonrpc":"2.0","method":"attrset/optionInfo","params":["nixd"]}
V[20:01:08.832] 388717: <<< {"error":{"code":-32001,"message":"attrname nixd not found in attrset"},"id":2,"jsonrpc":"2.0"}
I[20:01:08.832] 388717: <-- reply(2)
E[20:01:08.832] 388717: options hover: -32001: attrname nixd not found in attrset
I[20:01:08.832] 388717: --> reply:textDocument/hover(7)
V[20:01:08.832] 388717: >>> {"id":7,"jsonrpc":"2.0","result":{"contents":{"kind":"markdown","value":"`Identifier`"},"range":{"end":{"character":15,"line":51},"start":{"character":11,"line":51}}}}
V[20:01:13.369] 388717: <<< {"jsonrpc":"2.0","id":8,"method":"textDocument/inlayHint","params":{"textDocument":{"uri":"file:///home/she11sh0cked/.config/home-manager/home/default.nix"},"range":{"start":{"line":0,"character":0},"end":{"line":62,"character":0}}}}
I[20:01:13.369] 388717: <-- textDocument/inlayHint(8)
I[20:01:13.369] 388717: --> reply:textDocument/inlayHint(8)
V[20:01:13.369] 388717: >>> {"id":8,"jsonrpc":"2.0","result":[]}

Configuration

~/.config/home-manager/.vscode/settings.json

{
  "nix.serverSettings": {
    "nixd": {
      "options": {
        "home-manager": {
          "expr": "(builtins.getFlake \"/home/she11sh0cked/.config/home-manager\").homeConfigurations.she11sh0cked.options"
        }
      },
      "nixpkgs": {
        "expr": "import (builtins.getFlake \"/home/she11sh0cked/.config/home-manager\").inputs.nixpkgs { }"
      }
    }
  }
}

~/.config/home-manager/flake.nix

{
  description = "Home Manager configuration of she11sh0cked";

  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
    home-manager = {
      url = "github:nix-community/home-manager";
      inputs.nixpkgs.follows = "nixpkgs";
    };

    catppuccin.url = "github:catppuccin/nix";
    fastanime = {
      url = "github:Benex254/fastanime";
      inputs.nixpkgs.follows = "nixpkgs";
    };
    jerry = {
      url = "github:justchokingaround/jerry";
      inputs.nixpkgs.follows = "nixpkgs";
    };
    nixGL = {
      url = "github:nix-community/nixGL";
      inputs.nixpkgs.follows = "nixpkgs";
    };
    plasma-manager = {
      url = "github:nix-community/plasma-manager";
      inputs.nixpkgs.follows = "nixpkgs";
      inputs.home-manager.follows = "home-manager";
    };
    spicetify-nix = {
      url = "github:Gerg-L/spicetify-nix";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };

  outputs =
    {
      nixpkgs,
      home-manager,
      ...
    }@inputs:
    let
      system = "x86_64-linux";
      username = "she11sh0cked";
      pkgs = nixpkgs.legacyPackages.${system};
    in
    {
      homeConfigurations."${username}" = home-manager.lib.homeManagerConfiguration {
        inherit pkgs;

        modules = [ ./home ];

        extraSpecialArgs = {
          inherit inputs username;
        };
      };
    };
}

To Reproduce
Steps to reproduce the behavior:

  1. Create a new flake.nix file with the following minimal configuration:

    {
      description = "Minimal flake for reproduction";
    
      inputs = {
        nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
        home-manager = {
          url = "github:nix-community/home-manager";
          inputs.nixpkgs.follows = "nixpkgs";
        };
      };
    
      outputs =
        { nixpkgs, home-manager, ... }@inputs:
        let
          system = "x86_64-linux";
          pkgs = nixpkgs.legacyPackages.${system};
        in
        {
          homeConfigurations."test" = home-manager.lib.homeManagerConfiguration {
            inherit pkgs;
    
            modules = [];
          };
        };
    }
  2. Create a Nix file named test.nix with the following content:

    let
      flake = builtins.getFlake "/path/to/flake";
      pkgs = flake.inputs.nixpkgs.legacyPackages.x86_64-linux;
    in
    pkgs.nixd
  3. Configure a VSCode settings file with the following content:

    {
      "nix.serverSettings": {
        "nixd": {
          "options": {
            "home-manager": {
              "expr": "(builtins.getFlake \"/path/to/flake\").homeConfigurations.test.options"
            }
          },
          "nixpkgs": {
            "expr": "import (builtins.getFlake \"/path/to/flake\").inputs.nixpkgs { }"
          }
        }
      }
    }
  4. Open test.nix in VSCode and hover over pkgs.nixd.

Expected Behavior
Hovering over pkgs.nixd should display information about the nixd package.

Additional context
This might actually be just me not understanding how to properly configure nixd. If so please let me know :)

@she11sh0cked she11sh0cked added the bug Something isn't working label Dec 19, 2024
@she11sh0cked
Copy link
Author

Seems to be somewhat related to #551, but the issue didn't help me 😅

@inclyc
Copy link
Member

inclyc commented Dec 20, 2024

How about using the default configuration?

@she11sh0cked
Copy link
Author

You mean basically removing nix.serverSettings.nixd.nixpkgs? Same result

@she11sh0cked
Copy link
Author

I just found out beginning to type returns some information. Hover (and other features?) still doesn't work though. I have no other extensions for nix installed. Just nix-ide.

compressed.mp4

@inclyc
Copy link
Member

inclyc commented Dec 20, 2024

I just found out beginning to type returns some information. Hover (and other features?) still doesn't work though. I have no other extensions for nix installed. Just nix-ide.

compressed.mp4

Seems to be strange. How about with pkgs; [ ]? Can you get completions / hover information inside []?

@she11sh0cked
Copy link
Author

Interesting. As soon as I use with pkgs; [ ] it works. It even shows the inline version hint, but only for that line and not the other.

2024-12-20.23-00-42.mp4

@she11sh0cked she11sh0cked changed the title pkgs.<name> always returns "attrname not found in attrset" pkgs.<name> always returns "attrname not found in attrset" when not using in conjunction with with pkgs; Dec 20, 2024
@she11sh0cked she11sh0cked changed the title pkgs.<name> always returns "attrname not found in attrset" when not using in conjunction with with pkgs; pkgs.<name> always returns "attrname not found in attrset" when using without with pkgs; statement Dec 20, 2024
@she11sh0cked
Copy link
Author

This would be a better example in which test1 works (see first few logs) and test2 doesn't (see last few logs)
image

@inclyc
Copy link
Member

inclyc commented Dec 22, 2024

Seems to be a bug inside our AST analysis. Some heuristics applied in with expressions, but not for "select" expressions.

(In fact most of nix users write with expressions more instead of "select" expressions.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working nixd:controller
Projects
None yet
Development

No branches or pull requests

2 participants