{ description = "FastAPI with Cloud Firestore development environment"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, flake-utils }: flake-utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; # Python with required packages pythonEnv = pkgs.python312.withPackages (ps: with ps; [ fastapi uvicorn google-cloud-firestore pydantic python-dotenv ]); in { devShells.default = pkgs.mkShell { buildInputs = with pkgs; [ pythonEnv git curl ]; shellHook = '' echo "FastAPI + Firestore development environment" echo "" echo "Python: $(python --version)" echo "Packages: fastapi, uvicorn, google-cloud-firestore, pydantic" echo "" echo "Quick start:" echo " 1. Place your serviceAccountKey.json in this directory" echo " 2. Create main.py with your FastAPI app" echo " 3. Run: uvicorn main:app --reload" echo "" ''; }; }); }