{ lib , go , buildGoModule , fetchFromGitHub , installShellFiles }: buildGoModule rec { pname = "alertmanager"; version = "0.25.0"; rev = "v${version}"; src = fetchFromGitHub { inherit rev; owner = "prometheus"; repo = "alertmanager"; hash = "sha256-h87m3flE2GRAXMBgaAC+sOsPWEs7l9loQt6jGaSdXfQ="; }; vendorHash = "sha256-BX4mT0waYtKvNyOW3xw5FmXI8TLmv857YBFTnV7XXD8="; subPackages = [ "cmd/alertmanager" "cmd/amtool" ]; ldflags = let t = "github.com/prometheus/common/version"; in [ "-X ${t}.Version=${version}" "-X ${t}.Revision=${src.rev}" "-X ${t}.Branch=unknown" "-X ${t}.BuildUser=nix@nixpkgs" "-X ${t}.BuildDate=unknown" "-X ${t}.GoVersion=${lib.getVersion go}" ]; nativeBuildInputs = [ installShellFiles ]; postInstall = '' $out/bin/amtool --completion-script-bash > amtool.bash installShellCompletion amtool.bash $out/bin/amtool --completion-script-zsh > amtool.zsh installShellCompletion amtool.zsh ''; meta = with lib; { description = "Alert dispatcher for the Prometheus monitoring system"; homepage = "https://github.com/prometheus/alertmanager"; changelog = "https://github.com/prometheus/alertmanager/blob/v${version}/CHANGELOG.md"; license = licenses.asl20; maintainers = with maintainers; [ benley fpletz globin Frostman ]; platforms = platforms.unix; }; }