Removing a package without adding an alias is an immediate breaking change that we discourage in Nixpkgs. Automatically detecting this situation is possible using the before/after structure that nixpkgs-vet already has.
In my view, it's fine to separate this into two halves: top-level package additions and removals, and everything else (Python packages being the majority "other" case.)
There is a small complication that throw will need to be able to be rebound in aliases.nix but sadly or happily this is possible.
{ throw ? throw }: msg: throw msg
See NixOS/nixpkgs#440457.
Removing a package without adding an alias is an immediate breaking change that we discourage in Nixpkgs. Automatically detecting this situation is possible using the before/after structure that
nixpkgs-vetalready has.In my view, it's fine to separate this into two halves: top-level package additions and removals, and everything else (Python packages being the majority "other" case.)
There is a small complication that
throwwill need to be able to be rebound inaliases.nixbut sadly or happily this is possible.See NixOS/nixpkgs#440457.