2.home-manager/modules/programs/vicinae/lib.nix
Austin Horstman 4b1be5c38b vicinae: move lib to separate file
Not used internally and cleaner to separate

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2026-03-26 23:01:54 -05:00

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; };
};
}