Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- { lib, ... }:
- {
- relativeToRoot = lib.path.append ../.;
- relativeToConfD = lib.path.append ../conf.d;
- myMkPlugin =
- { plugin
- , requires ? [ ]
- , extraPackages ? [ ]
- , extraNodePackages ? [ ]
- , extraLuaPackages ? (_: [ ])
- , runtime ? { }
- , initPre ? null
- , initPost ? null
- , disabled ? false
- }:
- let
- pkg = plugin.overrideAttrs (_final: prev: {
- dependencies = (prev.dependencies or [ ]) ++ requires;
- propagatedBuildInputs = (prev.propagatedBuildInputs or [ ]) ++ extraPackages;
- });
- in
- lib.mkIf (! disabled) {
- inherit extraLuaPackages;
- extraPackages = extraPackages ++ extraNodePackages;
- plugins = [{ inherit runtime; type = "lua"; plugin = pkg; }];
- extraWrapperArgs = builtins.concatMap (p: [ "--prefix" "NODE_PATH" ":" "${p}/lib/node_modules" ]) extraNodePackages;
- extraLuaConfig = lib.mkMerge [
- (lib.mkIf ((builtins.typeOf initPre) == "string") (lib.mkBefore initPre))
- (lib.mkIf ((builtins.typeOf initPost) == "string") (lib.mkAfter initPost))
- ];
- };
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement