{
  inputs = {
    gguf = {
      url = "github:city96/ComfyUI-GGUF";
      flake = false;
    };

    tensorrt = {
      url = "github:comfyanonymous/ComfyUI_TensorRT";
      flake = false;
    };

    # needs some deps packaged
    # essentials = {
    #   url = "github:cubiq/ComfyUI_essentials";
    #   flake = false;
    # };

    openpose = {
      url = "github:space-nuko/ComfyUI-OpenPose-Editor";
      flake = false;
    };
  };

  outputs =
    {
      self,
      nixpkgs,
      ...
    }:
    let
      pkgs = import nixpkgs {
        system = "x86_64-linux";
      };
      inherit (pkgs) lib callPackage;
      inherit (builtins) mapAttrs;
      filteredInputs = lib.filterAttrs (n: _v: n != "nixpkgs") self.inputs;
    in
    {
      overlays.comfyui-plugins = final: _prev: {
        comfyui-plugins = mapAttrs (
          name: value: final.callPackage ./${name}/default.nix { src = value; }
        ) filteredInputs;
      };
      packages.x86_64-linux = mapAttrs (
        name: value: callPackage ./${name}/default.nix { src = value; }
      ) filteredInputs;
    };
}
