Change:
<ins> { lib , symlinkJoin , tectonic-unwrapped , biber-for-tectonic , makeWrapper }: symlinkJoin { name = "${tectonic-unwrapped.pname}-wrapped-${tectonic-unwrapped.version}"; paths = [ tectonic-unwrapped ]; nativeBuildInputs = [ makeWrapper ]; passthru = { unwrapped = tectonic-unwrapped; biber = biber-for-tectonic; }; # Replace the unwrapped tectonic with the one wrapping it with biber postBuild = '' rm $out/bin/{tectonic,nextonic} '' # Ideally, we would have liked to also pin the version of the online TeX # bundle that Tectonic's developer distribute, so that the `biber` version # and the `biblatex` version distributed from there are compatible. # However, that is not currently possible, due to lack of upstream support # for specifying this in runtime, there were 2 suggestions sent upstream # that suggested a way of improving the situation: # # - https://github.com/tectonic-typesetting/tectonic/pull/1132 # - https://github.com/tectonic-typesetting/tectonic/pull/1131 # # The 1st suggestion seems more promising as it'd allow us to simply use # makeWrapper's --add-flags option. However, the PR linked above is not # complete, and as of currently, upstream hasn't even reviewed it, or # commented on the idea. # # Note also that upstream has announced that they will put less time and # energy for the project: # # https://github.com/tectonic-typesetting/tectonic/discussions/1122 # # Hence, we can be rather confident that for the near future, the online # TeX bundle won't be updated and hence the biblatex distributed there # won't require a higher version of biber. + '' makeWrapper ${lib.getBin tectonic-unwrapped}/bin/tectonic $out/bin/tectonic  --prefix PATH : "${lib.getBin biber-for-tectonic}/bin" ln -s $out/bin/tectonic $out/bin/nextonic ''; meta = tectonic-unwrapped.meta // { description = "Tectonic TeX/LaTeX engine, wrapped with a compatible biber"; maintainers = with lib.maintainers; [ doronbehar bryango ]; }; } </ins>

Discussion:
Describe the bug Reproduction  Expected behavior No errors Notify maintainers Metadata Maintainer information:
The version of biber that we ship corresponds to . ships with texlive 2018 (tectonic-typesetting/tectonic-staging). And doesn't yet have a builtin solution for biber tectonic-typesetting/tectonic. You can try overriding biber to version 2.11, which should be compatible. cc as maintainer of
I would also appreciate a fix for this. I tried overriding to version 2.11, but that didn't help (similar version incompatibility), at least not on the current unstable channel or on 20.03 to match with the date of message. The version in the current derivation seems to be 3.3, which dates back to 2016, so it looks like updating would make more sense.
I marked this as stale due to inactivity. &rarr;
I've just encountered this issue too.
Which version of nixpkgs are you using? What is the output of:
Currently biber expects while nixpkgs (as well as texlive) contains . For me the override suggested in works with no issue; e.g. with home-manager: Although this works on my end, I hope this could be upstreamed to nixpkgs itself so that we can make use of the hydra cache with no need to locally rebuild tectonic; cc maintainers: Thank you very much!
Tectonic is tracking this issue in . In general, we sort of rely on Tectonic's bundles to follow texlive releases. That's why we don't embed such hardcoding of the version in Tectonic - since Tectonic could update it's bundle without an update to Tectonic itself, which could fix such an issue if it arises after a Tectonic release. Perhaps also the following Tectonic nixpkgs update will help:
Indeed... Is it then possible to create some package without the dependency, so that we can install the appropriate versions of and separately, without the need to recompile the package? :thinking: Thanks!
You have a point. I was the one who introduced the wrapping of with in ... I tend to think now that it shouldn't be that way, especially with this frequent issue of incompatibility. I pushed that as well to .

Wow nice! Thank you very much!
I have hence created a wrapper so that one can combine the two into a single package, where the -specific biber is renamed to prevent conflict with the texlive biber: I am far from proficient in nix, so the package is created following along with the previous revision of . It can be used e.g. as an override: I don't know whether it's good to upstream this or not. In any case, I think it may be useful to others like me, so it would be good to share this here haha.
Update: I am now trying to upstream a more polished solution via . would you be interested in a review? :pleading_face: The PR will close this issue.