let basicC = name: { stdenv }: stdenv.mkDerivation { inherit name; src = ./.; buildPhase = '' runHook preBuild gcc part2/${name}.c -o ${name}.bin runHook postBuild ''; installPhase = '' runHook preInstall mkdir -p $out/bin install ${name}.bin $out/bin/${name} runHook postInstall ''; }; in { a1-hello = basicC "hello"; a1-employee = basicC "employee"; a1-logwriter = basicC "logwriter"; }