I’ve started getting 403 errors when attempting to fetch tarballs from crates.io, similar to what’s being described in this pull request. It doesn’t seem that the fix has been backported to the 26.05 channel yet, or if it has, it doesn’t seem to be working correctly.
Do I have to maintain a fork of the channel with the fix for now, or are there other ways to incorporate it into my config?
I seem to be on revision 062346a6d85bc4b49dfaa61c986e9c5be21217d1, and a different package fails every time, but here is the log for gix-url, for example:
trying https://crates.io/api/v1/crates/gix-url/0.28.2/download
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
curl: (22) The requested URL returned error: 403
error: cannot download gix-url-0.28.2.tar.gz from any mirror
Has my IP just been blocked from downloading anything from their servers, perhaps?
As in, what’s attempting to build gix-url? And what tools count? I’m trying to build the top-level config for a system in a mounted store from an ISO using determinate-nix’s nix eval, and several crates packages are failing.
Can you find the derivation path for that gix-url derivation and run this (ChatGPT (GPT-5.6-Sol) assisted, but seems to work decently at getting derivation phases/hooks/whatever) script on it?
And I thought my 1591-line flake.lock was large…
Also, Tangled, nice. Should get some of my repos at least mirrored there.
1 other question of some importance: do you get some trace of derivations down the dependency chain when gix-url (or others) fail? Could help diagnose what flake input you need to change.
OK so it is being built as a dependency of cargo2nix, not as a different cargo2nix-generated derivation. pkgs.cargo2nix does not exist as cargo2nix is not packaged in nixpkgs. Follow the cargo2nix nixpkgs input. That kind of messed me up as I was expecting it to exist.
Also just FYI I use crate2nix instead of cargo2nix for my projects, depending on why you need cargo2nix that might interesting to look itno.
Also you might want to look into flint or flat-flake to give follow suggestions if you want that.
Yeah, so inputs.cargo2nix is used, is it not, thanks to the or keyword? I’m kinda trying to future-proof it so I don’t forget in the future! I have a terrible memory…
Yep. if the first thing is missing then or will use the second.
It should.
BTW, follows doesn’t care too much, you can follow something to another completely different flake, it would just probably fail to eval (some exceptions, overriding nixpkgs-lib to nixpkgs is generally safe, for example).