{ pkgs, ... }: with pkgs; let packageGrafanaPlugin = { pname, version, sha256, meta ? {}, ... }@args: stdenv.mkDerivation { inherit pname version; src = fetchurl { name = "${pname}-${version}.zip"; url = "https://grafana.com/api/plugins/${pname}/versions/${version}/download"; inherit sha256; }; nativeBuildInputs = [ unzip ]; installPhase = '' mkdir $out cp -R * "$out" ''; meta = meta // { homepage = "https://grafana.com/grafana/plugins/${pname}"; }; } // (builtins.removeAttrs args [ "pname" "version" "sha256" "meta" ]); in { grafana-piechart-panel = packageGrafanaPlugin { pname = "grafana-piechart-panel"; version = "1.6.1"; sha256 = "sha256:0f6snd2p3hq3gqmbvc6rnjx97k3lagcfyw62lx2y0ah1z9wvz0pb"; meta = with lib; { description = "Pie chart panel for Grafana"; license = licenses.asl20; maintainers = with maintainers; [ lukegb ]; platforms = platforms.unix; }; }; grafana-clock-panel = packageGrafanaPlugin { pname = "grafana-clock-panel"; version = "1.1.1"; sha256 = "sha256:0fa4ajd64q9anz7xg6parqjp79lz9wdc761sxsi6wp7ypa1p5xja"; meta = with lib; { description = "Clock panel for Grafana"; license = licenses.asl20; maintainers = with maintainers; [ lukegb ]; platforms = platforms.unix; }; }; grafana-worldmap-panel = packageGrafanaPlugin { pname = "grafana-worldmap-panel"; version = "0.3.2"; sha256 = "sha256:00dfd87kwrq41wc95vnxgidyh4kjylqydx6xq9x5rxsp5z6hjq1h"; meta = with lib; { description = "World Map panel for Grafana"; license = licenses.asl20; maintainers = with maintainers; [ lukegb ]; platforms = platforms.unix; }; }; grafana-polystat-panel = packageGrafanaPlugin { pname = "grafana-polystat-panel"; version = "1.2.2"; sha256 = "sha256:1mzyg8mk1vap4x65xnqkw14nsrhv1v4nfq9b7sbkpb37rf31sr0x"; meta = with lib; { description = "Hexagonal multi-stat panel for Grafana"; license = licenses.asl20; maintainers = with maintainers; [ lukegb ]; platforms = platforms.unix; }; }; }