{ description = "Add support for deserialization of pydantic child models"; inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; }; outputs = { self, nixpkgs }: let system = "x86_64-linux"; pkgs = import nixpkgs { inherit system; }; packageName = "pydantic-uuid-model"; version = "1.1.0"; pydantic = (ps: ps.buildPythonPackage rec { pname = "pydantic"; version = "1.9.1"; src = ps.fetchPypi { inherit pname version; sha256 = "sha256-HtmHw/8p//f9jD6jo+qHetMQquLvmImhGeItPy2waRo="; }; }); in { packages."${system}" = { "${packageName}" = pkgs.python3Packages.callPackage ./default.nix { inherit packageName version; pydantic = (pydantic pkgs.python3Packages); }; default = self.packages."${system}"."${packageName}"; overlay = (final: prev: { pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [ (final: prev: { "${packageName}" = self.packages."${system}".default; }) ]; }); dependencies = with pkgs; [ ]; }; devShell."${system}" = let pkgs = import nixpkgs { inherit system; overlays = [ self.packages."${system}".overlay ]; }; customPython = with pkgs; (pkgs.python3.withPackages (ps: [ ps."${packageName}" ])); packages = [ customPython ] ++ self.packages."${system}".dependencies; in pkgs.mkShell { inherit packages; }; }; }