{ stdenvNoCC, fetchFromGitHub, zip }:
let
  makeShaderPackage = {
    name,
    src,
  }: stdenvNoCC.mkDerivation {
    inherit name src;
    phases = [ "installPhase" ];
    buildInputs = [ zip ];
    installPhase = ''
      cd "$src"
      mkdir -p "$out"
      zip -r "$out/${name}.zip" .
    '';
  };
in
{
  bliss-dh = makeShaderPackage {
    name = "Bliss-DH";
    src = fetchFromGitHub {
      owner = "X0nk";
      repo = "Bliss-Shader";
      rev = "1cd49fe249db4cfeb102283fdc068e9cc1549e3e";
      hash = "sha256-0R+aebM2Cztkdj4020CUTr9ABwFyG9nEu7Op0K9k6+w=";
    };
  };

  complementary-reimagined-dh = makeShaderPackage {
    name = "ComplementaryReimagined-DH";
    src = fetchFromGitHub {
      owner = "Steveplays28";
      repo = "ComplementaryReimagined";
      rev = "c5cb31757c27550ae30b9c462fe3ed1993b39d9d";
      hash = "sha256-1HOscJ8afNC7t4yiobJBJgom7pDpwZPdA3B3EILlyWY=";
    };
  };

  rethinking-voxels-dh = makeShaderPackage {
    name = "RethinkingVoxels-DH";
    src = fetchFromGitHub {
      owner = "Steveplays28";
      repo = "ComplementaryReimagined";
      rev = "343915b7b18e1d83187fae1ea1f14eac90d4d09d";
      hash = "sha256-Hu+JeINQC09OS1WY1kpagoRH5Awnp4YhacWusQgRsqc=";
    };
  };
}