Not used internally and cleaner to separate Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
58 lines
1.2 KiB
Nix
58 lines
1.2 KiB
Nix
{
|
|
pkgs,
|
|
lib,
|
|
}:
|
|
{
|
|
mkExtension =
|
|
{
|
|
name,
|
|
src,
|
|
}:
|
|
pkgs.buildNpmPackage {
|
|
inherit name src;
|
|
inherit (pkgs.importNpmLock) npmConfigHook;
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
mkdir -p $out
|
|
cp -r /build/.local/share/vicinae/extensions/${name}/* $out/
|
|
|
|
runHook postInstall
|
|
'';
|
|
npmDeps = pkgs.importNpmLock { npmRoot = src; };
|
|
};
|
|
|
|
mkRayCastExtension =
|
|
{
|
|
name,
|
|
src ? null,
|
|
rev ? null,
|
|
sha256 ? null,
|
|
}:
|
|
let
|
|
resolvedSrc =
|
|
if src != null then
|
|
src
|
|
else
|
|
pkgs.fetchgit {
|
|
inherit rev sha256;
|
|
url = "https://github.com/raycast/extensions";
|
|
sparseCheckout = [ "/extensions/${name}" ];
|
|
}
|
|
+ "/extensions/${name}";
|
|
in
|
|
pkgs.buildNpmPackage {
|
|
inherit name;
|
|
inherit (pkgs.importNpmLock) npmConfigHook;
|
|
src = resolvedSrc;
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
mkdir -p $out
|
|
cp -r /build/.config/raycast/extensions/${name}/* $out/
|
|
|
|
runHook postInstall
|
|
'';
|
|
npmDeps = pkgs.importNpmLock { npmRoot = resolvedSrc; };
|
|
};
|
|
}
|