This MR introduces two big changes:
- BSC packages are now directly available in the root attribute like
nix build .#nanos6
- The dependencies are searched in the top level attribute, rather than our own. This solves the problem of a package A from bscpkgs depending on MPI (from bscpkgs) and also depending on another package B from nixpkgs that links with MPI too, but B takes the one in nixpkgs instead of the one in bscpkgs.
- The CI is now passed by changing the input of the jungle flake, so it is compiled with the node overlay applied. This ensures we build the same packages on CI that on the jungle machines, so we don't rely on the flake.lock nixpkgs version ov bscpkgs, but the one in jungle.
- All packages are built on CI and the result symlink keeps them alive from the GC.
The purpose of this change is to make it more easy for new users to dive into the package management and avoid potential mistakes when taking packages from nixpkgs accidentally.