| 27 Apr 2026 |
flokli | (cc @raitobezarius:matrix.org) | 14:31:25 |
raitobezarius | I think Sergei Zimmerman (xokdvium) did a lot of work to improve URL handling that Lix do not have and could explain this | 14:32:17 |
raitobezarius | We should probably pick this up too | 14:32:22 |
raitobezarius | But I'm not caught up yet with this and we are a bit under weather, is it urgent on your side? | 14:32:36 |
flokli | In reply to @raitobezarius:matrix.org We should probably pick this up too Agreed. It also simplifies the code in Snix, would like to see this backported. | 14:32:52 |
raitobezarius | Actually, this is not in the URL code | 14:33:12 |
flokli | In reply to @raitobezarius:matrix.org But I'm not caught up yet with this and we are a bit under weather, is it urgent on your side? It's soft-blocking some test suite refactorings / migrations, which started to surface this. | 14:33:42 |
Sergei Zimmerman (xokdvium) | This is the case of error vs success case right? So this is a much softer kind of "regression" (more like a bugfix?) | 14:34:12 |
raitobezarius | I will try to poke some folks, but please give us at least 1-2 weeks min to react properly to this | 14:34:59 |
flokli | In reply to @xokdvium:matrix.org This is the case of error vs success case right? So this is a much softer kind of "regression" (more like a bugfix?) We didn't run some of the test suite tests yet. And now because they fail with Lix we need to distinguish between the two impls that the runner of the test suite might run them against. Or skip them entirely | 14:58:14 |
flokli | We can do of course, it's just I'd like to get the ball rolling, and I think it's enough of a niche case to backport and align behaviours again | 14:58:59 |
| 28 Apr 2026 |
antifuchs | so I ran into an issue (https://github.com/NixOS/nixpkgs/issues/514178) that's an unexpected-enough thing in pure eval mode that I'm half tempted to ask, is this a thing with the evaluator? or is there a nixpkgs freeform type thing that causes paths pointing to nonexistent files to not break? | 13:12:42 |
zoë (@blokyk) | this might be because of a badly-placed toString somewhere, making nix loose track of the path-ness of it and thus the need to check it exists + to copy it into the nix store | 13:18:48 |
zoë (@blokyk) | (just a guess, plus i'm not sure how flakes interact with toString ./foo since i never use flakes) | 13:19:17 |
antifuchs | yeah, that could explain why interpolating the path in a string correctly does the thing | 13:19:27 |
antifuchs | * yeah, that could explain why interpolating the path in a string correctly fails | 13:19:43 |
zoë (@blokyk) | yeah that's also definitely it then | 13:19:51 |
zoë (@blokyk) | ...now to find the toString responsible for it x) | 13:20:02 |
zoë (@blokyk) | * ...now good luck findign the toString responsible for it x) | 13:20:12 |
zoë (@blokyk) | * ...now good luck finding the toString responsible for it x) | 13:20:16 |
antifuchs | :lmaohno: | 13:20:23 |
zoë (@blokyk) | probably just need to change these lines | 13:28:04 |
zoë (@blokyk) | (i can't test it (and don't know how to use that software anyway), but you might want to try that antifuchs (e.g. by disabling the original module and then importing your patched version) and then submit a PR) | 13:30:24 |
zoë (@blokyk) | * (i can't test it (and don't know how to use that software anyway, so qemu vm won't help), but you might want to try that antifuchs (e.g. by disabling the original module and then importing your patched version) and then submit a PR) | 13:30:53 |
antifuchs | thank you! that definitely seems like the place to start | 13:31:27 |
antifuchs | (also, huh, I didn't know about disabledModules, that will come in super handy) | 13:43:21 |
zoë (@blokyk) | haha yeah i learned about it during my darkest hours and it was very very useful (which is part of why i wrote that message with that link, because i wanted to spread the word :) | 13:44:10 |
antifuchs | "oh good", the paths get converted to strings before that code even gets to them. guess this is buried deeper. | 14:38:19 |
antifuchs | * "oh good", the paths get converted to strings before that code even gets to them. guess this is buried deeper. no wait the module doesn't actually get disabled | 14:40:51 |
antifuchs | yuuuup the function you identified was exactly it; using string interpolation on the path instead of toString on paths correctly fails the build, now that I'm doing the module-replacement right. | 14:55:22 |