From e9bf28edaaec7d7a7ad417cfabeb847f9afc3f6a Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Thu, 12 Dec 2024 16:29:06 +0100 Subject: [PATCH] home-assistant-custom-lovelace-modules.plotly-graph-card: init at 2.34.0 Highly customisable Lovelace card to plot interactive graphs. Brings scrolling, zooming, and much more! --- .../plotly-chart-card/package.nix | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 pkgs/servers/home-assistant/custom-lovelace-modules/plotly-chart-card/package.nix diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/plotly-chart-card/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/plotly-chart-card/package.nix new file mode 100644 index 000000000000..d868f674497c --- /dev/null +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/plotly-chart-card/package.nix @@ -0,0 +1,60 @@ +{ + lib, + buildNpmPackage, + buildGoModule, + fetchFromGitHub, +}: + +let + # The node build requires its pinned esbuild version + esbuild = buildGoModule rec { + pname = "esbuild"; + version = "0.16.10"; + + src = fetchFromGitHub { + owner = "evanw"; + repo = "esbuild"; + tag = "v${version}"; + hash = "sha256-plcI3p/m1tPODZNcBoP/kc3avO11oXww7NIA9wdX+Pc="; + }; + + vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ="; + + meta.mainProgram = "esbuild"; + }; +in + +buildNpmPackage rec { + pname = "plotly-graph-card"; + version = "3.3.5"; + + src = fetchFromGitHub { + owner = "dbuezas"; + repo = "lovelace-plotly-graph-card"; + tag = "v${version}"; + hash = "sha256-I0lP0Z0tUiuJ4cC2Ud4uePS8zEZIBNP5X3EEa9ZVQ24="; + }; + + npmDepsHash = "sha256-CwIx5/kAAY+PAjEkJi7/7NpApzFSoIfuIl7zmsaqicE="; + + # for ml-regression-logarithmic + forceGitDeps = true; + makeCacheWritable = true; + + # custom pinned esbuild version + env.ESBUILD_BINARY_PATH = lib.getExe esbuild; + + installPhase = '' + install -d $out + install -m0644 dist/plotly-graph-card.js $out/ + ''; + + meta = { + description = "Highly customisable Lovelace card to plot interactive graphs. Brings scrolling, zooming, and much more"; + homepage = "https://github.com/dbuezas/lovelace-plotly-graph-card"; + changelog = "https://github.com/dbuezas/lovelace-plotly-graph-card/releases/tag/${src.tag}"; + license = lib.licenses.isc; + maintainers = with lib.maintainers; [ hexa ]; + platforms = lib.platforms.all; + }; +}