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.