cb8190b6

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

Add a Nix flake

Adds a flake.nix so the project can be built and checked with Nix (and
demoed on NixCI). It provides:

* packages.default: builds the dspy wheel (python -m build)
* devShells.default: python + uv + ruff + pre-commit dev environment
* checks: the package, the devShell, and a ruff lint gate mirroring CI

`nix flake check` builds every package and devShell.

Suite timing

Time to Start Worker time Duration Time to finish Idle
Config 4s 7s 7s 11s 4s
Eval 11s 45s 45s 57s 0s
Build 15m19s 22s 34s 15m53s 14m36s
Suite 4s 1m15s 15m49s 15m53s 14m40s

Timeline

0s10s20s30s40s50s15m20s15m40s15m50s