{ lib, buildGoModule, fetchFromGitHub, nixosTests, makeWrapper, freeipmi }: buildGoModule rec { pname = "ipmi_exporter"; version = "1.6.1"; src = fetchFromGitHub { owner = "prometheus-community"; repo = "ipmi_exporter"; rev = "v${version}"; hash = "sha256-hifG1lpFUVLoy7Ol3N6h+s+hZjnQxja5svpY4lFFsxw="; }; vendorHash = "sha256-UuPZmxoKVj7FusOS6H1gn6SAzQIZAKyX+m+QS657yXw="; nativeBuildInputs = [ makeWrapper ]; postInstall = '' wrapProgram $out/bin/ipmi_exporter --prefix PATH : ${lib.makeBinPath [ freeipmi ]} ''; passthru.tests = { inherit (nixosTests.prometheus-exporters) ipmi; }; ldflags = [ "-s" "-w" "-X github.com/prometheus/common/version.Version=${version}" "-X github.com/prometheus/common/version.Revision=0000000" "-X github.com/prometheus/common/version.Branch=unknown" "-X github.com/prometheus/common/version.BuildUser=nix@nixpkgs" "-X github.com/prometheus/common/version.BuildDate=unknown" ]; meta = with lib; { description = "An IPMI exporter for Prometheus"; homepage = "https://github.com/prometheus-community/ipmi_exporter"; changelog = "https://github.com/prometheus-community/ipmi_exporter/blob/${src.rev}/CHANGELOG.md"; license = licenses.mit; maintainers = with maintainers; [ snaar ]; }; }