Files
nixpkgs/pkgs/by-name/pr/prometheus-node-exporter/package.nix
2026-07-19 20:06:10 +00:00

58 lines
1.4 KiB
Nix

{
lib,
buildGoModule,
fetchFromGitHub,
nixosTests,
versionCheckHook,
}:
buildGoModule (finalAttrs: {
pname = "node_exporter";
version = "1.12.1";
src = fetchFromGitHub {
owner = "prometheus";
repo = "node_exporter";
tag = "v${finalAttrs.version}";
hash = "sha256-10sGJ4PkYMmr9mpYu22dw9zDbbDsCsHfG6Z7czaywAc=";
};
vendorHash = "sha256-WFRxkwMM9D612tLJjij+kwpcwhcl3KhR8xXxx43SC9o=";
# FIXME: tests fail due to read-only nix store
doCheck = false;
excludedPackages = [ "docs/node-mixin" ];
ldflags = [
"-s"
"-w"
"-X github.com/prometheus/common/version.Version=${finalAttrs.version}"
"-X github.com/prometheus/common/version.Revision=unknown"
"-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"
];
passthru.tests = { inherit (nixosTests.prometheus-exporters) node; };
nativeInstallCheckInputs = [
versionCheckHook
];
doInstallCheck = true;
meta = {
description = "Prometheus exporter for machine metrics";
mainProgram = "node_exporter";
homepage = "https://github.com/prometheus/node_exporter";
changelog = "https://github.com/prometheus/node_exporter/blob/v${finalAttrs.version}/CHANGELOG.md";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
benley
fpletz
globin
Frostman
];
};
})