Some possible alternatives to this:
- Keep putting them in PATH.
- Make xtask a nix derivation. We would lose out on incremental
compilation this way, and would end up recompiling xtask from scratch
whenever something in the main package changed.
- Have xtask call `nix build --inputs-from $toplevel nixpkgs#go` and
such. Slow and tedious.
One thing that might be neat in the future is noticing differing results
while the tests are still running, and modifying the log messages to
indicate them. I can imagine situations where you would want to abort
the test run immediately after seeing the first regression.
Added the `derive` feature to the workspace serde dependency here.
Previously, the dependency was only used in the main package, which
ended up enabling the `derive` feature through transitive serde
dependencies. This is not the case for xtask, so we need to enable it
explicitly.