{ lib, openssl, pkg-config, fetchFromGitHub, rustPlatform }: rustPlatform.buildRustPackage rec { pname = "afterburn"; version = "5.5.1"; src = fetchFromGitHub { owner = "coreos"; repo = "afterburn"; rev = "v${version}"; sha256 = "sha256-3+FlW/y8EScJKaFvxa/hOlDF18kEtz2XyMdrDZgcMXs="; }; cargoHash = "sha256-DTFvaXPr21qvx1FA1phueRxTgcrfhGgb9Vktah372Uo="; nativeBuildInputs = [ pkg-config ]; buildInputs = [ openssl ]; postPatch = '' substituteInPlace ./systemd/afterburn-checkin.service --replace /usr/bin $out/bin substituteInPlace ./systemd/afterburn-firstboot-checkin.service --replace /usr/bin $out/bin substituteInPlace ./systemd/afterburn-sshkeys@.service.in --replace /usr/bin $out/bin substituteInPlace ./systemd/afterburn.service --replace /usr/bin $out/bin ''; postInstall = '' DEFAULT_INSTANCE=root PREFIX= DESTDIR=$out make install-units ''; meta = with lib; { homepage = "https://github.com/coreos/ignition"; description = "A one-shot cloud provider agent"; license = licenses.asl20; maintainers = [ maintainers.arianvp ]; platforms = platforms.linux; mainProgram = "afterburn"; }; }