Skip to content

Version auto detection failing with 590.48.01 #217

@GamerBene19

Description

@GamerBene19

I have upgraded my Nvidia driver to 590.48.01. Trying to build my flake fails with this error message:

error:
       … while calling the 'derivationStrict' builtin
         at «nix-internal»/derivation-internal.nix:37:12:
           36|
           37|   strict = derivationStrict drvAttrs;
             |            ^
           38|

       … while evaluating derivation 'home-manager-generation'
         whose name attribute is located at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/pkgs/stdenv/generic/make-derivation.nix:541:13

       … while evaluating attribute 'buildCommand' of derivation 'home-manager-generation'
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/pkgs/build-support/trivial-builders/default.nix:80:17:
           79|         enableParallelBuilding = true;
           80|         inherit buildCommand name;
             |                 ^
           81|         passAsFile = [ "buildCommand" ] ++ (derivationArgs.passAsFile or [ ]);

       … while evaluating the option `home.activation.installPackages.data':

       … while evaluating definitions from `/nix/store/l2pl49aczg4lhid2xgnr497z439sx3sm-source/modules/home-environment.nix':

       (stack trace truncated; use '--show-trace' to show the full, detailed trace)

       error: cannot coerce null to a string: null

Stacktrace
[~/Development/nix-template] <main> * home-manager switch --show-trace --impure --flake .
error:
       … while calling the 'derivationStrict' builtin
         at «nix-internal»/derivation-internal.nix:37:12:
           36|
           37|   strict = derivationStrict drvAttrs;
             |            ^
           38|

       … while evaluating derivation 'home-manager-generation'
         whose name attribute is located at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/pkgs/stdenv/generic/make-derivation.nix:541:13

       … while evaluating attribute 'buildCommand' of derivation 'home-manager-generation'
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/pkgs/build-support/trivial-builders/default.nix:80:17:
           79|         enableParallelBuilding = true;
           80|         inherit buildCommand name;
             |                 ^
           81|         passAsFile = [ "buildCommand" ] ++ (derivationArgs.passAsFile or [ ]);

       … while calling the 'getAttr' builtin
         at «nix-internal»/derivation-internal.nix:50:17:
           49|     value = commonAttrs // {
           50|       outPath = builtins.getAttr outputName strict;
             |                 ^
           51|       drvPath = strict.drvPath;

       … while calling th thate 'derivationStrict' builtin
         at «nix-internal»/derivation-internal.nix:37:12:
           36|
           37|   strict = derivationStrict drvAttrs;
             |            ^
           38|

       … while evaluating derivation 'activation-script'
         whose name attribute is located at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/pkgs/stdenv/generic/make-derivation.nix:541:13

       … while evaluating attribute 'text' of derivation 'activation-script'
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/pkgs/build-support/trivial-builders/default.nix:129:13:
          128|           inherit
          129|             text
             |             ^
          130|             executable

       … while calling the 'concatStringsSep' builtin
         at /nix/store/l2pl49aczg4lhid2xgnr497z439sx3sm-source/modules/home-environment.nix:774:13:
          773|           if sortedCommands ? result then
          774|             lib.concatStringsSep "\n" (map mkCmd sortedCommands.result)
             |             ^
          775|           else

       … while calling 'mkCmd'
         at /nix/store/l2pl49aczg4lhid2xgnr497z439sx3sm-source/modules/home-environment.nix:767:17:
          766|       let
          767|         mkCmd = res: ''
             |                 ^
          768|           _iNote "Activating %s" "${res.name}"

       … while evaluating the attribute 'data'
         at /nix/store/l2pl49aczg4lhid2xgnr497z439sx3sm-source/modules/lib/dag.nix:100:45:
           99|       {
          100|         result = map (v: { inherit (v) name data; }) sorted.result;
             |                                             ^
          101|       }

       … while evaluating the attribute 'data'
         at /nix/store/l2pl49aczg4lhid2xgnr497z439sx3sm-source/modules/lib/dag.nix:92:9:
           91|         name = n;
           92|         data = v.data;
             |         ^
           93|         after = v.after ++ dagBefore dag n;

       … from call site
         at /nix/store/l2pl49aczg4lhid2xgnr497z439sx3sm-source/modules/lib/dag.nix:92:16:
           91|         name = n;
           92|         data = v.data;
             |                ^
           93|         after = v.after ++ dagBefore dag n;

       … while calling anonymous lambda
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/lib/attrsets.nix:1188:17:
         1187|         mapAttrs (
         1188|           name: value:
             |                 ^
         1189|           if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value

       … from call site
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/lib/attrsets.nix:1189:85:
         1188|           name: value:
         1189|           if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value
             |                                                                                     ^
         1190|         );

       … while calling anonymous lambda
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/lib/modules.nix:275:71:
          274|           # For definitions that have an associated option
          275|           declaredConfig = mapAttrsRecursiveCond (v: !isOption v) (_: v: v.value) options;
             |                                                                       ^
          276|

       … while evaluating the attribute 'value'
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/lib/modules.nix:1118:7:
         1117|     // {
         1118|       value = addErrorContext "while evaluating the option `${showOption loc}':" value;
             |       ^
         1119|       inherit (res.defsFinal') highestPrio;

       … while evaluating the option `home.activation.installPackages.data':

       … while evaluating the attribute 'mergedValue'
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/lib/modules.nix:1192:5:
         1191|     # Type-check the remaining definitions, and merge them. Or throw if no definitions.
         1192|     mergedValue =
             |     ^
         1193|       if isDefined then

       … while evaluating a branch condition
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/lib/modules.nix:1193:7:
         1192|     mergedValue =
         1193|       if isDefined then
             |       ^
         1194|         if type.merge ? v2 then

       … while evaluating the attribute 'values'
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/lib/modules.nix:1186:9:
         1185|       {
         1186|         values = defsSorted;
             |         ^
         1187|         inherit (defsFiltered) highestPrio;

       … while evaluating a branch condition
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/lib/modules.nix:1180:11:
         1179|           # Avoid sorting if we don't have to.
         1180|           if any (def: def.value._type or "" == "order") defsFiltered.values then
             |           ^
         1181|             sortProperties defsFiltered.values

       … while calling the 'any' builtin
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/lib/modules.nix:1180:14:
         1179|           # Avoid sorting if we don't have to.
         1180|           if any (def: def.value._type or "" == "order") defsFiltered.values then
             |              ^
         1181|             sortProperties defsFiltered.values

       … while evaluating the attribute 'values'
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/lib/modules.nix:1360:7:
         1359|     {
         1360|       values = concatMap (def: if getPrio def == highestPrio then [ (strip def) ] else [ ]) defs;
             |       ^
         1361|       inherit highestPrio;

       … while calling the 'concatMap' builtin
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/lib/modules.nix:1360:16:
         1359|     {
         1360|       values = concatMap (def: if getPrio def == highestPrio then [ (strip def) ] else [ ]) defs;
             |                ^
         1361|       inherit highestPrio;

       … while calling the 'concatMap' builtin
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/lib/modules.nix:1160:26:
         1159|         # Process mkMerge and mkIf properties.
         1160|         defsNormalized = concatMap (
             |                          ^
         1161|           m:

       … while calling anonymous lambda
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/lib/modules.nix:1161:11:
         1160|         defsNormalized = concatMap (
         1161|           m:
             |           ^
         1162|           map (

       … while calling the 'map' builtin
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/lib/modules.nix:1162:11:
         1161|           m:
         1162|           map (
             |           ^
         1163|             value:

       … while evaluating definitions from `/nix/store/l2pl49aczg4lhid2xgnr497z439sx3sm-source/modules/home-environment.nix':

       … from call site
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/lib/modules.nix:1171:80:
         1170|               }
         1171|           ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
             |                                                                                ^
         1172|         ) defs;

       … while calling 'dischargeProperties'
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/lib/modules.nix:1311:5:
         1310|   dischargeProperties =
         1311|     def:
             |     ^
         1312|     if def._type or "" == "merge" then

       … while evaluating a branch condition
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/lib/modules.nix:1312:5:
         1311|     def:
         1312|     if def._type or "" == "merge" then
             |     ^
         1313|       concatMap dischargeProperties def.contents

       … while evaluating the attribute 'value'
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/lib/modules.nix:805:21:
          804|             inherit (module) file;
          805|             inherit value;
             |                     ^
          806|           }) module.config

       … while calling the 'getAttr' builtin
         at «nix-internal»/derivation-internal.nix:50:17:
           49|     value = commonAttrs // {
           50|       outPath = builtins.getAttr outputName strict;
             |                 ^
           51|       drvPath = strict.drvPath;

       … while calling the 'derivationStrict' builtin
         at «nix-internal»/derivation-internal.nix:37:12:
           36|
           37|   strict = derivationStrict drvAttrs;
             |            ^
           38|

       … while evaluating derivation 'home-manager-path'
         whose name attribute is located at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/pkgs/stdenv/generic/make-derivation.nix:541:13

       … while evaluating attribute 'passAsFile' of derivation 'home-manager-path'
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/pkgs/build-support/trivial-builders/default.nix:81:9:
           80|         inherit buildCommand name;
           81|         passAsFile = [ "buildCommand" ] ++ (derivationArgs.passAsFile or [ ]);
             |         ^
           82|       }

       … while evaluating the attribute 'passAsFile'
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/pkgs/build-support/buildenv/default.nix:114:9:
          113|         # XXX: The size is somewhat arbitrary
          114|         passAsFile = if builtins.stringLength pkgs >= 128 * 1024 then [ "pkgs" ] else [ ];
             |         ^
          115|       }

       … while evaluating a branch condition
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/pkgs/build-support/buildenv/default.nix:114:22:
          113|         # XXX: The size is somewhat arbitrary
          114|         passAsFile = if builtins.stringLength pkgs >= 128 * 1024 then [ "pkgs" ] else [ ];
             |                      ^
          115|       }

       … in the argument of the not operator
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/pkgs/build-support/buildenv/default.nix:114:52:
          113|         # XXX: The size is somewhat arbitrary
          114|         passAsFile = if builtins.stringLength pkgs >= 128 * 1024 then [ "pkgs" ] else [ ];
             |                                                    ^
          115|       }

       … while calling the 'lessThan' builtin
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/pkgs/build-support/buildenv/default.nix:114:52:
          113|         # XXX: The size is somewhat arbitrary
          114|         passAsFile = if builtins.stringLength pkgs >= 128 * 1024 then [ "pkgs" ] else [ ];
             |                                                    ^
          115|       }

       … while calling the 'stringLength' builtin
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/pkgs/build-support/buildenv/default.nix:114:25:
          113|         # XXX: The size is somewhat arbitrary
          114|         passAsFile = if builtins.stringLength pkgs >= 128 * 1024 then [ "pkgs" ] else [ ];
             |                         ^
          115|       }

       … while calling the 'toJSON' builtin
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/pkgs/build-support/buildenv/default.nix:109:16:
          108|         pathsToLinkJSON = builtins.toJSON pathsToLink;
          109|         pkgs = builtins.toJSON chosenOutputs;
             |                ^
          110|         extraPathsFrom = lib.optional includeClosures (writeClosure pathsForClosure);

       … while evaluating list element at index 30

       … while evaluating attribute 'paths'
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/pkgs/build-support/buildenv/default.nix:68:7:
           67|     chosenOutputs = map (drv: {
           68|       paths =
             |       ^
           69|         # First add the usual output(s): respect if user has chosen explicitly,

       … while evaluating list element at index 0
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/pkgs/build-support/buildenv/default.nix:68:7:
           67|     chosenOutputs = map (drv: {
           68|       paths =
             |       ^
           69|         # First add the usual output(s): respect if user has chosen explicitly,

       … while calling the 'getAttr' builtin
         at «nix-internal»/derivation-internal.nix:50:17:
           49|     value = commonAttrs // {
           50|       outPath = builtins.getAttr outputName strict;
             |                 ^
           51|       drvPath = strict.drvPath;

       … while calling the 'derivationStrict' builtin
         at «nix-internal»/derivation-internal.nix:37:12:
           36|
           37|   strict = derivationStrict drvAttrs;
             |            ^
           38|

       … while evaluating derivation 'firefox-146.0.1'
         whose name attribute is located at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/pkgs/stdenv/generic/make-derivation.nix:541:13

       … while evaluating attribute 'buildCommand' of derivation 'firefox-146.0.1'
         at /nix/store/l2pl49aczg4lhid2xgnr497z439sx3sm-source/modules/targets/generic-linux/nixgl.nix:230:13:
          229|             nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [ pkgs.makeWrapper ];
          230|             buildCommand =
             |             ^
          231|               let

       … from call site
         at /nix/store/l2pl49aczg4lhid2xgnr497z439sx3sm-source/modules/targets/generic-linux/nixgl.nix:258:24:
          257|                   makeWrapper \
          258|                     "${lib.getExe combinedWrapperPkg}" \
             |                        ^
          259|                     "$out/bin/$prog" \

       … while calling 'getExe'
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/lib/meta.nix:445:5:
          444|   getExe =
          445|     x:
             |     ^
          446|     getExe' x (

       … from call site
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/lib/meta.nix:446:5:
          445|     x:
          446|     getExe' x (
             |     ^
          447|       x.meta.mainProgram or (

       … while calling 'getExe''
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/lib/meta.nix:491:8:
          490|   getExe' =
          491|     x: y:
             |        ^
          492|     assert assertMsg (isDerivation x)

       … while calling the 'getAttr' builtin
         at «nix-internal»/derivation-internal.nix:50:17:
           49|     value = commonAttrs // {
           50|       outPath = builtins.getAttr outputName strict;
             |                 ^
           51|       drvPath = strict.drvPath;

       … while calling the 'derivationStrict' builtin
         at «nix-internal»/derivation-internal.nix:37:12:
           36|
           37|   strict = derivationStrict drvAttrs;
             |            ^
           38|

       … while evaluating derivation 'nixGLCombinedWrapper-Nvidia'
         whose name attribute is located at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/pkgs/stdenv/generic/make-derivation.nix:541:13

       … while evaluating attribute 'text' of derivation 'nixGLCombinedWrapper-Nvidia'
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/pkgs/build-support/trivial-builders/default.nix:129:13:
          128|           inherit
          129|             text
             |             ^
          130|             executable

       … from call site
         at /nix/store/l2pl49aczg4lhid2xgnr497z439sx3sm-source/modules/targets/generic-linux/nixgl.nix:235:26:
          234|                 combinedWrapperPkg = pkgs.writeShellScriptBin "nixGLCombinedWrapper-${vendor}" ''
          235|                   exec ${getWrapperExe vendor} "$@"
             |                          ^
          236|                 '';

       … while calling 'getWrapperExe'
         at /nix/store/l2pl49aczg4lhid2xgnr497z439sx3sm-source/modules/targets/generic-linux/nixgl.nix:181:9:
          180|       getWrapperExe =
          181|         vendor:
             |         ^
          182|         let

       … from call site
         at /nix/store/l2pl49aczg4lhid2xgnr497z439sx3sm-source/modules/targets/generic-linux/nixgl.nix:184:19:
          183|           glPackage = findWrapperPackage "nixGL${vendor}";
          184|           glExe = lib.getExe glPackage;
             |                   ^
          185|           vulkanPackage = findWrapperPackage "nixVulkan${vendor}";

       … while calling 'getExe'
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/lib/meta.nix:445:5:
          444|   getExe =
          445|     x:
             |     ^
          446|     getExe' x (

       … from call site
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/lib/meta.nix:446:5:
          445|     x:
          446|     getExe' x (
             |     ^
          447|       x.meta.mainProgram or (

       … while calling 'getExe''
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/lib/meta.nix:491:8:
          490|   getExe' =
          491|     x: y:
             |        ^
          492|     assert assertMsg (isDerivation x)

       … in the condition of the assert statement
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/lib/meta.nix:492:5:
          491|     x: y:
          492|     assert assertMsg (isDerivation x)
             |     ^
          493|       "lib.meta.getExe': The first argument is of type ${typeOf x}, but it should be a derivation instead.";

       … from call site
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/lib/meta.nix:492:12:
          491|     x: y:
          492|     assert assertMsg (isDerivation x)
             |            ^
          493|       "lib.meta.getExe': The first argument is of type ${typeOf x}, but it should be a derivation instead.";

       … while calling 'assertMsg'
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/lib/asserts.nix:50:21:
           49|   # TODO(Profpatsch): add tests that check stderr
           50|   assertMsg = pred: msg: pred || throw msg;
             |                     ^
           51|

       … in the left operand of the OR (||) operator
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/lib/asserts.nix:50:31:
           49|   # TODO(Profpatsch): add tests that check stderr
           50|   assertMsg = pred: msg: pred || throw msg;
             |                               ^
           51|

       … from call site
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/lib/meta.nix:492:23:
          491|     x: y:
          492|     assert assertMsg (isDerivation x)
             |                       ^
          493|       "lib.meta.getExe': The first argument is of type ${typeOf x}, but it should be a derivation instead.";

       … while calling 'isDerivation'
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/lib/attrsets.nix:1413:18:
         1412|   */
         1413|   isDerivation = value: value.type or null == "derivation";
             |                  ^
         1414|

       … from call site
         at /nix/store/l2pl49aczg4lhid2xgnr497z439sx3sm-source/modules/targets/generic-linux/nixgl.nix:183:23:
          182|         let
          183|           glPackage = findWrapperPackage "nixGL${vendor}";
             |                       ^
          184|           glExe = lib.getExe glPackage;

       … while calling 'findWrapperPackage'
         at /nix/store/l2pl49aczg4lhid2xgnr497z439sx3sm-source/modules/targets/generic-linux/nixgl.nix:161:9:
          160|       findWrapperPackage =
          161|         packageAttr:
             |         ^
          162|         # NixGL has wrapper packages in different places depending on how you

       … while evaluating the attribute 'packages.x86_64-linux.nixGLNvidia'
         at /nix/store/f2nqm9j29r48lzay38vn827gwgsd55c7-source/flake.nix:23:11:
           22|           nixGLDefault = pkgs.auto.nixGLDefault;
           23|           nixGLNvidia = pkgs.auto.nixGLNvidia;
             |           ^
           24|           nixGLNvidiaBumblebee = pkgs.auto.nixGLNvidiaBumblebee;

       … while evaluating the attribute 'auto.nixGLNvidia'
         at /nix/store/f2nqm9j29r48lzay38vn827gwgsd55c7-source/nixGL.nix:152:7:
          151|       # TODO: 32bit version? Not tested.
          152|       nixGLNvidia = nixNvidiaWrapper "GL";
             |       ^
          153|

       … from call site
         at /nix/store/f2nqm9j29r48lzay38vn827gwgsd55c7-source/nixGL.nix:152:21:
          151|       # TODO: 32bit version? Not tested.
          152|       nixGLNvidia = nixNvidiaWrapper "GL";
             |                     ^
          153|

       … while calling 'nixNvidiaWrapper'
         at /nix/store/f2nqm9j29r48lzay38vn827gwgsd55c7-source/nixGL.nix:116:26:
          115|       # TODO: 32bit version? Not tested.
          116|       nixNvidiaWrapper = api:
             |                          ^
          117|         writeExecutable {

       … from call site
         at /nix/store/f2nqm9j29r48lzay38vn827gwgsd55c7-source/nixGL.nix:117:9:
          116|       nixNvidiaWrapper = api:
          117|         writeExecutable {
             |         ^
          118|           name = "nix${api}Nvidia-${version}";

       … while calling 'writeExecutable'
         at /nix/store/f2nqm9j29r48lzay38vn827gwgsd55c7-source/nixGL.nix:22:21:
           21| let
           22|   writeExecutable = { name, text }:
             |                     ^
           23|     writeTextFile {

       … from call site
         at /nix/store/f2nqm9j29r48lzay38vn827gwgsd55c7-source/nixGL.nix:23:5:
           22|   writeExecutable = { name, text }:
           23|     writeTextFile {
             |     ^
           24|       inherit name text;

       … while calling 'writeTextFile'
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/pkgs/build-support/trivial-builders/default.nix:103:5:
          102|   writeTextFile =
          103|     {
             |     ^
          104|       name,

       … in the condition of the assert statement
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/pkgs/build-support/trivial-builders/default.nix:115:5:
          114|     }:
          115|     assert lib.assertMsg (destination != "" -> (lib.hasPrefix "/" destination && destination != "/")) ''
             |     ^
          116|       destination must be an absolute path, relative to the derivation's out path,

       … from call site
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/pkgs/build-support/trivial-builders/default.nix:115:12:
          114|     }:
          115|     assert lib.assertMsg (destination != "" -> (lib.hasPrefix "/" destination && destination != "/")) ''
             |            ^
          116|       destination must be an absolute path, relative to the derivation's out path,

       … while calling 'assertMsg'
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/lib/asserts.nix:50:21:
           49|   # TODO(Profpatsch): add tests that check stderr
           50|   assertMsg = pred: msg: pred || throw msg;
             |                     ^
           51|

       … in the left operand of the OR (||) operator
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/lib/asserts.nix:50:31:
           49|   # TODO(Profpatsch): add tests that check stderr
           50|   assertMsg = pred: msg: pred || throw msg;
             |                               ^
           51|

       … in the left operand of the IMPL (->) operator
         at /nix/store/lv4kcr2y4b9k4ynhkga157507zxf372b-source/pkgs/build-support/trivial-builders/default.nix:115:45:
          114|     }:
          115|     assert lib.assertMsg (destination != "" -> (lib.hasPrefix "/" destination && destination != "/")) ''
             |                                             ^
          116|       destination must be an absolute path, relative to the derivation's out path,

       … while evaluating a path segment
         at /nix/store/f2nqm9j29r48lzay38vn827gwgsd55c7-source/nixGL.nix:118:35:
          117|         writeExecutable {
          118|           name = "nix${api}Nvidia-${version}";
             |                                   ^
          119|           text = ''

       error: cannot coerce null to a string: null

I don't quite understand the inner workings of nixGL, but with the help of an LLM I figured the issue is that this version detection

nixGL/nixGL.nix

Line 237 in b610529

versionMatch = builtins.match ".*Module ([0-9.]+) .*" data;

does not match what I have on my system:

[~/Development/nix-template] <main> * cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX Open Kernel Module for x86_64  590.48.01  Release Build  (root@)  
GCC version:  gcc version 15.2.1 20251112 (GCC)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions