{ newScope, lib, python3 }: let self = lib.makeExtensible (self: let inherit (self) callPackage; in { callPackage = newScope self; python3 = callPackage ./python.nix { inherit python3; }; hyperkitty = callPackage ./hyperkitty.nix { }; mailman = callPackage ./package.nix { }; mailman-hyperkitty = callPackage ./mailman-hyperkitty.nix { }; postorius = callPackage ./postorius.nix { }; web = callPackage ./web.nix { }; buildEnvs = { web ? self.web , mailman ? self.mailman , mailman-hyperkitty ? self.mailman-hyperkitty , withHyperkitty ? false , withLDAP ? false }: { mailmanEnv = self.python3.withPackages (ps: [ mailman ps.psycopg2 ] ++ lib.optional withHyperkitty mailman-hyperkitty ++ lib.optionals withLDAP [ ps.python-ldap ps.django-auth-ldap ]); webEnv = self.python3.withPackages (ps: [ web ps.psycopg2 ] ++ lib.optionals withLDAP [ ps.python-ldap ps.django-auth-ldap ]); }; }); in self