{ pkgs ? import { }, }: pkgs.mkShell { packages = [ # Python with development packages (pkgs.python3.withPackages ( ps: builtins.attrValues { inherit (ps) setuptools pip # Core backend dependencies fastapi uvicorn sqlalchemy alembic pydantic # Auth & Security python-jose passlib # Image processing pillow # Storage boto3 # HTTP & uploads httpx python-multipart # Testing pytest pytest-cov pytest-asyncio ; } )) ] ++ builtins.attrValues { inherit (pkgs) # Python tools uv ruff # Database postgresql # Frontend nodejs # Image processing imagemagick # Version control git # Development tools direnv ; }; buildInputs = [ ]; shellHook = '' echo "🚀 Reference Board Viewer Development Environment" echo " Python: $(python --version)" echo " Node.js: $(node --version)" echo " PostgreSQL: $(psql --version | head -n1)" echo "" echo "📚 Quick Commands:" echo " Backend: cd backend && uvicorn app.main:app --reload" echo " Frontend: cd frontend && npm run dev" echo " Tests: cd backend && pytest --cov" echo "" ''; }