{
	config,
	php,
	pkgs,
	...
} @args: let
	cfg = (import ./Config.nix args).file;
in php.buildComposerProject (finalAttrs: {
	pname      = "PrivateBin";
	vendorHash = "sha256-JGuO8kXLLXqq76EccdNSoHwYO5OuJT3Au1O2O2szAHI=";
	version    = "1.7.4";
	src = pkgs.fetchFromGitHub {
		hash  = "sha256-RFP6rhzfBzTmqs4eJXv7LqdniWoeBJpQQ6fLdoGd5Fk=";
		owner = "PrivateBin";
		repo  = "PrivateBin";
		rev   = finalAttrs.version;
	};
	installPhase = ''
		runHook preInstall

		mv $out/share/php/PrivateBin/* $out
		rm -r $out/share

		cp ${cfg} $out/cfg/conf.php

		touch $out/.env
		pushd $out

		runHook postInstall
	'';
	postFixup = ''
		substituteInPlace $out/index.php --replace-fail \
			"define('PATH', ''')" \
			"define('PATH', '$out/')"
	'';
})