rec { /* Given the attrset for evaluating a wrapper-manager module, return a derivation containing the wrapper. */ build = args: (eval args).config.build.toplevel; /* Evaluate a wrapper-manager configuration. */ eval = { pkgs, lib ? pkgs.lib, modules ? [ ], specialArgs ? { }, }: lib.evalModules { inherit specialArgs; modules = [ ../modules/wrapper-manager # Setting pkgs modularly. This would make setting up wrapper-manager # with different nixpkgs instances possible but it isn't something that # is explicitly supported. ({ lib, ... }: { config._module.args.pkgs = lib.mkDefault pkgs; }) ] ++ modules; }; }