{ description = "Add support for deserialization of pydantic child models"; outputs = { self }: let system = "x86_64-linux"; packageName = "pydantic-uuid-model"; version = "1.1.0"; in { overlays = let composeExtensions = ( f: g: final: prev: let fApplied = f final prev; prev' = prev // fApplied; in fApplied // g final prev'); in { default = builtins.foldl' composeExtensions (final: prev: {}) [ self.overlays.pydantic self.overlays."${packageName}" ]; pydantic = (pkgs-final: pkgs-prev: { pythonPackagesExtensions = pkgs-prev.pythonPackagesExtensions ++ [ (final: prev: { pydantic = pkgs-prev.python3Packages.callPackage ./pypi.nix { pname = "pydantic"; version = "1.9.1"; sha256 = "sha256-HtmHw/8p//f9jD6jo+qHetMQquLvmImhGeItPy2waRo="; }; }) ]; }); "${packageName}" = (pkgs-final: pkgs-prev: { pythonPackagesExtensions = pkgs-prev.pythonPackagesExtensions ++ [ (final: prev: { "${packageName}" = pkgs-prev.python3Packages.callPackage ./default.nix { inherit packageName version; }; }) ]; }); }; #devShell."${system}" = let # pkgs = import nixpkgs { # inherit system; # overlays = [ self.overlays.default ]; # }; # packages = [ (pkgs.python3.withPackages (ps: [ ps."${packageName}" ])) ]; #in pkgs.mkShell { inherit packages; }; }; }