Nix DocsSearch

pkgs.makeSetupHook

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.sh

setup 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

  • name Set the name of the hook.
  • propagatedBuildInputs Runtime dependencies (such as binaries) of the hook.
  • depsTargetTargetPropagated Non-binary dependencies.
  • meta
  • passthru
  • substitutions Variables for substituteAll