#!/usr/bin/env python3 from pathlib import Path flake = Path("flake.nix").read_text() start = flake.index("devShells.default = pkgs.mkShell {") depth = 0 end = None for index, character in enumerate(flake[start:], start): if character == "{": depth += 1 elif character == "}": depth -= 1 if depth == 0: end = index + 1 break if end is None: raise SystemExit("FAIL: devShells.default block is not balanced") block = flake[start:end] for marker in ("inputsFrom", "self.packages", "ldrawOracle", "packages.default"): if marker in block: raise SystemExit(f"FAIL: devShells.default depends on repository output via {marker}") print("PASS: devShells.default contains tools and external libraries only")