Sender | Message | Time |
---|---|---|
16 Sep 2025 | ||
* when dogfooding is enabled with this experimental installer option, you'll end up with an 4: Failed to execute command \ HOME="/root" "/nix/store/dkmylx2wyz9i6ycbmr07lpv15mph0d7y-nix-main-2.32.0pre/bin/nix-store" "--load-db"` error i traced it back to this pretty naive snippet of code that basically just takes the first path in the store matching nix-*and runs it, with no checks for if /bin/nix-store` actually exists https://github.com/NixOS/experimental-nix-installer/blob/20be610e1f29c8a127146da67ed56f879b173ac6/src/action/base/setup_default_profile.rs#L55-L70 | 04:34:31 | |
* when dogfooding is enabled with this experimental installer option, you'll end up with an 4: Failed to execute command \ HOME="/root" "/nix/store/dkmylx2wyz9i6ycbmr07lpv15mph0d7y-nix-main-2.32.0pre/bin/nix-store" "--load-db"`` error i traced it back to this pretty naive snippet of code that basically just takes the first path in the store matchingnix-\* and runs it, with no checks for if/bin/nix-store\ actually exists https://github.com/NixOS/experimental-nix-installer/blob/20be610e1f29c8a127146da67ed56f879b173ac6/src/action/base/setup_default_profile.rs#L55-L70 | 04:34:42 | |
* when dogfooding is enabled with this experimental installer option, you'll end up with an error like this
i traced it back to this pretty naive snippet of code that basically just takes the first path in the store matching | 04:35:11 | |
does seem to be the case after re-rolling the hash on a new revision. reported it https://github.com/NixOS/experimental-nix-installer/issues/47 and opened up a draft of everything in https://github.com/NixOS/nix/pull/14002. i'm pretty sure it's in a good state, minus this bug? | 06:13:53 | |
* does seem to be the case after re-rolling the hash on a new revision. reported it in https://github.com/NixOS/experimental-nix-installer/issues/47 and opened up a draft of everything in https://github.com/NixOS/nix/pull/14002. i'm pretty sure it's in a good state, minus this bug? | 06:14:06 | |
interesting, lix's fork of the installer doesn't have this issue: https://git.lix.systems/lix-project/lix-installer/src/commit/e4048682396999c11069f99f9b323f1d4a333bbc/src/action/base/setup_default_profile.rs#L57 seems to go back to an earlier implementation that was removed after they forked in https://github.com/DeterminateSystems/nix-installer/commit/16ee60a2f7d5d172db91484729f15dd09d0e5383 | 06:28:04 | |
....nevermind
| 06:37:04 | |
getchoo: should we just fix the regex? | 11:22:45 | |
by making it more specific | 11:23:01 | |
Why is it git+file and not git+path | 13:27:26 | |
Extension of the file protocol? | 13:35:23 | |
but the argument you pass it, is a path, not a file | 14:27:22 | |
git+file:/home/foo is not a file, but this is necessary | 14:27:35 | |
it should be git+path:/home/foo | 14:27:49 | |
git calls it file https://git-scm.com/book/ms/v2/Git-on-the-Server-The-Protocols | 14:32:20 | |
i think path: is a nix invention... probably | 14:33:06 | |
matthewcroughan: I meant as an extension of the file URI scheme, file:///some/path . | 14:34:48 | |
In reply to @joerg:thalheim.iothat’s what i was thinking we could also iterate over the glob matches and use the first one that actually has a /bin/nix subpath as well to be a bit safer (since i really doubt the day will come where we have multiple nix binaries in the store during install) | 16:51:32 | |
* this worked before the component split in 2.29 since there would only be one main nix store path at this point, but now it matches the nix-main store path first, which doesn't have a bin dir or any of the nix binaries | 16:52:24 | |
In reply to @getchoo:matrix.orgIs this not just scanning the installation tarball rather the entire nix store? | 20:22:46 | |
I haven't looked to deep into the code. | 20:23:13 | |
it is, but the installation tarball now has multiple paths that match nix-* due to the component split | 20:32:59 | |
so depending on the hashes you get, sometimes one of the components will be matched first and the installer will just blindly append the /bin/nix-store subpath to it and try executing | 20:35:12 | |
17 Sep 2025 | ||
Okay seems like an easy fix than to just check for the path to exist | 07:56:51 | |
18:01:13 | ||
18 Sep 2025 | ||
yeah, just was away from home yesterday. finished it up a little bit ago https://github.com/NixOS/experimental-nix-installer/pull/48 | 04:33:15 | |
10:57:15 | ||
Mic92: you mentioned wanting some CI improvements for the installer in order to get it official. I can put in some time to help on this. Do you have a list of things you'd want to see added/fixed? | 13:07:08 | |
adamcstephens: https://github.com/NixOS/nix/pull/14002 you can help getchoo to fix the installer tarball | 15:41:32 | |
This one: https://github.com/NixOS/experimental-nix-installer/issues/47 | 15:43:01 |