2024-10-16 20:12:23 -04:00
|
|
|
{
|
2025-02-18 15:19:08 -05:00
|
|
|
# nix build inputs
|
|
|
|
lib,
|
|
|
|
stdenv,
|
2024-10-20 21:42:54 -04:00
|
|
|
concatTextFile,
|
2024-10-16 20:12:23 -04:00
|
|
|
custom-sidebar-src,
|
2025-02-18 15:19:08 -05:00
|
|
|
# deps
|
2024-10-16 20:12:23 -04:00
|
|
|
nodejs,
|
|
|
|
pnpm,
|
|
|
|
...
|
|
|
|
}: let
|
2025-02-12 00:43:27 -05:00
|
|
|
inherit (builtins) fromJSON readFile;
|
|
|
|
|
|
|
|
package = fromJSON (readFile "${custom-sidebar-src}/package.json");
|
2024-10-16 20:12:23 -04:00
|
|
|
in
|
|
|
|
stdenv.mkDerivation (finalAttrs: {
|
|
|
|
pname = "custom-sidebar";
|
2025-02-12 00:43:27 -05:00
|
|
|
version = "${package.version}+${custom-sidebar-src.shortRev}";
|
2024-10-16 20:12:23 -04:00
|
|
|
|
|
|
|
src = custom-sidebar-src;
|
|
|
|
|
|
|
|
nativeBuildInputs = [
|
|
|
|
nodejs
|
|
|
|
pnpm.configHook
|
|
|
|
];
|
|
|
|
|
|
|
|
buildPhase = ''
|
|
|
|
npm run build
|
|
|
|
'';
|
|
|
|
|
|
|
|
installPhase = ''
|
|
|
|
mkdir $out
|
|
|
|
cp ./dist/* $out
|
|
|
|
'';
|
|
|
|
|
|
|
|
pnpmDeps = pnpm.fetchDeps {
|
|
|
|
inherit (finalAttrs) pname version src;
|
2025-02-17 17:12:03 -05:00
|
|
|
hash = "sha256-vAZkr4PLkIMkVr/hFEY6ZBP9W793lxs69LeA/FRUyPY=";
|
2024-10-20 21:42:54 -04:00
|
|
|
};
|
|
|
|
|
2025-02-17 16:47:32 -05:00
|
|
|
passthru.updateScript = concatTextFile {
|
|
|
|
name = "update";
|
|
|
|
files = [./update.sh];
|
|
|
|
executable = true;
|
|
|
|
destination = "/bin/update";
|
|
|
|
};
|
2025-02-18 15:19:08 -05:00
|
|
|
|
|
|
|
meta = {
|
|
|
|
license = lib.licenses.asl20;
|
|
|
|
homepage = "https://github.com/elchininet/custom-sidebar";
|
|
|
|
description = ''
|
|
|
|
Custom HACS plugin that allows you to personalise the
|
|
|
|
Home Assistant's sidebar per user or device basis.
|
|
|
|
'';
|
|
|
|
};
|
2024-10-16 20:12:23 -04:00
|
|
|
})
|