| 24 Nov 2025 |
goldstein | yeah, I mean in urls that include http urls | 19:51:49 |
goldstein | * yeah, I mean in urls that could be http urls | 19:51:57 |
helle (just a stray cat girl) | yeah | 19:52:41 |
thubrecht | The source code :> | 19:53:42 |
goldstein | yeah, that’s what I’ve done lol | 19:53:52 |
goldstein |  Download clipboard.png | 19:54:05 |
helle (just a stray cat girl) | there is divergence between lix and nix there..... | 19:55:22 |
helle (just a stray cat girl) | I think we currently lack practical bugs, but we have had them before | 19:55:37 |
goldstein | yeah
I won’t bother checking cppnix impl for now because lix is what I use, but I’ll probably need to later | 19:56:13 |
goldstein | or maybe not
I’ve never actually seen more esoteric flakeref attrs in the wild | 19:56:26 |
helle (just a stray cat girl) | yeah, I mean lix docs just need to have the lix supported ones and defer to "there may be incompatibilities with other nix implementations currently due to a lack of a formal specification" | 19:59:37 |
helle (just a stray cat girl) | the untangling of the fetchers (cleaning fetchurl, etc) is going to be a whole extra set of questions | 20:00:18 |
helle (just a stray cat girl) | sigh | 20:00:46 |
helle (just a stray cat girl) | for chaos reasons, fetchurl, fetchTarball and fetchGit are implemented as:
https://git.lix.systems/lix-project/lix/src/branch/main/lix/libexpr/primops/fetchTree.cc#L329
not 100% sure how path and file are off the top of my head, but probably similarly silly | 20:05:39 |
helle (just a stray cat girl) | so the fact that some abstraction is leaky.... | 20:06:23 |
goldstein | the part that’s confusing to me is that they explicitly list allowed attrs, including rev and revCount
https://git.lix.systems/lix-project/lix/src/commit/b966d2e53bd6f5f03ae86b60b12d7489cf91f1a6/lix/libfetchers/tarball.cc#L234 | 20:07:19 |
helle (just a stray cat girl) | yeah, that is a little weird, wonder if flake inputs use that path as well, should poke thubrecht on that as they changed that up last it seems? | 20:10:42 |
thubrecht | Yes, the flakes machinery goes through libfetchers | 20:12:36 |
helle (just a stray cat girl) | yeah, but also specifically that code path I guess that uses the same definition as fetchTarball? | 20:13:39 |
helle (just a stray cat girl) | because that seems messy, oof | 20:13:54 |
goldstein | yeah, fetching files and tarballs is explicitly the same interface I think | 20:14:07 |
goldstein | don’t think either of them should need rev though | 20:14:16 |
helle (just a stray cat girl) | yeah, I mean it's fine to share some amount of code path, but having that leak into fetchTarball is uh, very silly design | 20:17:44 |
helle (just a stray cat girl) | anyway, I do need to go over this when redoing the docs around there, I bet there is a bunch more of "is this intentional?" behaviour in the code | 20:20:08 |
helle (just a stray cat girl) | this is also going to lead to more test suite writing huh | 20:31:23 |
raitobezarius | quick reply, we plan to dissolve flake refs into general URIs | 23:46:13 |
raitobezarius | flake refs gets to continue to exist as URIs + a new scheme registration (flake:) | 23:46:28 |
| 25 Nov 2025 |
| wizzy changed their profile picture. | 00:26:34 |
| Garrett joined the room. | 04:06:10 |
Atemu | btw. on the topic of flakes: has anyone ever dabbled in re-implementing the flake.nix interface in Nix expressions so that you can eval flakes via plain old regular impure direct eval without all the special bullcrap Nix does to make pure eval work? | 15:17:39 |