b4005bee

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

Run the test suite under Nix

Build the full dependency closure from uv.lock with uv2nix and run pytest:

* checks.pytest runs the offline test suite inside `nix build` (pure):
  984 passing, with the handful of tests that fetch real URLs deselected.
* packages.impure-test runs the full suite (incl. those network tests);
  nix-ci.nix wires it up as a NixCI impure `test` job.

Also exposes packages.test-env (the test virtualenv).