35 lines
756 B
Nix
35 lines
756 B
Nix
{
|
|
lib,
|
|
fetchFromGitHub,
|
|
newScope,
|
|
}@args:
|
|
let
|
|
fetchJellyfinPlugin = (lib.makeScope newScope (_: args)).callPackage package;
|
|
|
|
package =
|
|
{
|
|
name,
|
|
fetchFromGitHub,
|
|
...
|
|
}@args:
|
|
let
|
|
self = fetchJellyfinPlugin args;
|
|
|
|
extraArgs = lib.attrsets.removeAttrs args (builtins.attrNames (lib.functionArgs package));
|
|
owner = args.owner or "jellyfin";
|
|
repo = args.repo or "jellyfin-plugin-${args.name}";
|
|
name = builtins.concatStringsSep "-" (
|
|
[ repo ] ++ lib.optional (args ? version) args.version ++ [ "source" ]
|
|
);
|
|
|
|
in
|
|
fetchFromGitHub (
|
|
{
|
|
inherit owner repo name;
|
|
passthru.override = self.override;
|
|
}
|
|
// extraArgs
|
|
);
|
|
|
|
in
|
|
fetchJellyfinPlugin
|