coq-nix-toolbox
coq-nix-toolbox copied to clipboard
`attribute` / `shell-attribute` confusion?
From the documentation in config.nix, it would seem that nix-build and nix-shell (without arguments) should target a different attribute if attribute and shell-attribute are both set and differ. Yet, (at least with the latest coq-nix-toolbox) both commands actually target the shell-attribute. Should we fix the toolbox or the documentation?
Thanks for raising the question, I had not noticed. These two attributes date back to the time where it was impossible to build other derivations. But now we can, somehow attribute is now only used to make the CI now which package to consider for rev deps...
Hence, I think we should fix the doc, and see these two attributes as a documentation that there is a divergence between the end-user package and the dev environement, while nix-build without argument should be in sync with nix-shell.
As I understand it, attribute is providing a default value for bundles' main job. This led me to proposing the simplification at #40.
Do you confirm that we should also fix the documentation appearing here: https://github.com/coq-community/coq-nix-toolbox/blob/e747bcb3dfcd79a73435122c1f319dc6e6d477c2/template-config.nix#L67
I.e., is it correct that the shell-attribute is not a main job and not included by default in a bundle?
Yes, it is https://github.com/coq-community/coq-nix-toolbox/blob/e747bcb3dfcd79a73435122c1f319dc6e6d477c2/config-parser-1.0.0/default.nix#L27-L30 But maybe it shouldn't?
But then how come that my patch in #40, which removed coqPackages.coq-shell.job = false, still generates the same workflows?
Yep, I'm confused too.