infra/dashboards/default.nix

22 lines
702 B
Nix
Raw Normal View History

{ stdenv, jsonnet, fetchFromGitHub, lib, ... }:
rec {
grafonnet = fetchFromGitHub {
owner = "grafana";
repo = "grafonnet-lib";
# TODO: figure out how to read the jsonnet lockfile
# and propagate this a bit cleverly.
rev = "a1d61cce1da59c71409b99b5c7568511fec661ea";
hash = "sha256-fs5JZJbcL6sQXBjYhp5eeRtjTFw0J1O/BcwBC8Vm9EM=";
};
buildJsonnetDashboards = dashboardSrc: target: stdenv.mkDerivation {
name = "jsonnet-grafana-dashboard-${baseNameOf target}";
src = dashboardSrc;
buildInputs = [ jsonnet ];
buildPhase = ''
runHook preBuild
jsonnet -J ${grafonnet} --ext-code publish=false ${target} > $out
runHook postBuild
'';
};
}