pkgs.makeSetupHook is a build helper that produces hooks that go into nativeBuildInputs
Usage
pkgs.makeSetupHook { name = "something-hook"; propagatedBuildInputs = [ pkgs.commandsomething ]; depsTargetTargetPropagated = [ pkgs.libsomething ];} ./script.shsetup hook that depends on the hello package and runs hello and @shell@ is substituted with path to bash
pkgs.makeSetupHook { name = "run-hello-hook"; # Put dependencies here if they have hooks or necessary dependencies propagated # otherwise prefer direct paths to executables. propagatedBuildInputs = [ pkgs.hello pkgs.cowsay ]; substitutions = { shell = "${pkgs.bash}/bin/bash"; cowsay = "${pkgs.cowsay}/bin/cowsay"; }; } ( writeScript "run-hello-hook.sh" '' #!@shell@ # the direct path to the executable has to be here because # this will be run when the file is sourced # at which point '$PATH' has not yet been populated with inputs @cowsay@ cow
_printHelloHook() { hello } preConfigureHooks+=(_printHelloHook) '' )Attributes
nameSet the name of the hook.propagatedBuildInputsRuntime dependencies (such as binaries) of the hook.depsTargetTargetPropagatedNon-binary dependencies.metapassthrusubstitutionsVariables forsubstituteAll