about summary refs log tree commit diff
path: root/doc
diff options
context:
space:
mode:
authorArtturin <Artturin@artturin.com>2023-01-28 21:57:21 +0200
committerArtturin <Artturin@artturin.com>2023-02-07 21:02:02 +0200
commit680309fc9ca3cfe06e02509134427215f1079310 (patch)
treeba4b382797bf05a10eafe35c59f923e32619e52c /doc
parent8f171925b3a0edbdc6611eef50eb07ef991fc7a6 (diff)
add docs for makeSetupHook
Diffstat (limited to 'doc')
-rw-r--r--doc/builders/special.xml1
-rw-r--r--doc/builders/special/makesetuphook.section.md37
2 files changed, 38 insertions, 0 deletions
diff --git a/doc/builders/special.xml b/doc/builders/special.xml
index 525eb71abfe7e..c971134819818 100644
--- a/doc/builders/special.xml
+++ b/doc/builders/special.xml
@@ -6,6 +6,7 @@
   This chapter describes several special builders.
  </para>
  <xi:include href="special/fhs-environments.section.xml" />
+ <xi:include href="special/makesetuphook.section.xml" />
  <xi:include href="special/mkshell.section.xml" />
  <xi:include href="special/darwin-builder.section.xml" />
 </chapter>
diff --git a/doc/builders/special/makesetuphook.section.md b/doc/builders/special/makesetuphook.section.md
new file mode 100644
index 0000000000000..90d75c5491cff
--- /dev/null
+++ b/doc/builders/special/makesetuphook.section.md
@@ -0,0 +1,37 @@
+# pkgs.makeSetupHook {#sec-pkgs.makeSetupHook}
+
+`pkgs.makeSetupHook` is a builder that produces hooks that go in to `nativeBuildInputs`
+
+## Usage {#sec-pkgs.makeSetupHook-usage}
+
+```nix
+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
+
+```nix
+pkgs.makeSetupHook {
+    name = "run-hello-hook";
+    propagatedBuildInputs = [ pkgs.hello ];
+    substitutions = { shell = "${pkgs.bash}/bin/bash"; };
+    passthru.tests.greeting = callPackage ./test { };
+    meta.platforms = lib.platforms.linux;
+} (writeScript "run-hello-hook.sh" ''
+    #!@shell@
+    hello
+'')
+```
+
+## 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`