| 24 Nov 2025 |
goldstein | e.g. rev and revCount are supported for all the fetchers, including file and tarball and path | 19:47:03 |
goldstein | for reasons I do not comprehend | 19:47:07 |
helle (just a stray cat girl) | oh, the reason is very easy | 19:47:18 |
helle (just a stray cat girl) | every fetcher got rewritten to be basically fetchTree in disguise | 19:47:28 |
helle (just a stray cat girl) | I should file a further bug on this..... | 19:47:46 |
helle (just a stray cat girl) | because it leads to some question on if we want to keep that behaviour and how many people are relying on it | 19:48:04 |
helle (just a stray cat girl) | Redacted or Malformed Event | 19:48:34 |
helle (just a stray cat girl) | because while unifying a bunch of the code is useful, having behaviour of flakes leak outside of flakes is suboptimal | 19:49:19 |
goldstein | fetchTree is a cool primitive to have, but flakerefs are kind of a weird format... | 19:49:52 |
helle (just a stray cat girl) | yes, this is the underlying problem and as everything flakey, underdocumented | 19:50:14 |
helle (just a stray cat girl) | there is a reason flakes are being ripped out of core | 19:50:28 |
goldstein | the URL form trips me up so much bc of the meta-query-parameters in what is otherwise HTTP urls | 19:51:18 |
goldstein | very excited for this | 19:51:25 |
helle (just a stray cat girl) | they aren't necessary http urls, but yeah | 19:51:35 |
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 |