This commit is contained in:
Amy de Buitléir 2025-09-15 16:08:27 +01:00
parent 5fb1dbd754
commit cc0b5f01b7

View file

@ -5198,8 +5198,7 @@ hello-flake
<span class="normal">44</span>
<span class="normal">45</span>
<span class="normal">46</span>
<span class="normal">47</span>
<span class="normal">48</span></pre></div></td><td class="code"><div><pre><span></span><span class="tok-p">{</span>
<span class="normal">47</span></pre></div></td><td class="code"><div><pre><span></span><span class="tok-p">{</span>
<span class="tok-ss">inputs</span> <span class="tok-o">=</span> <span class="tok-p">{</span>
nixpkgs<span class="tok-o">.</span><span class="tok-ss">url</span> <span class="tok-o">=</span> <span class="tok-s2">&quot;github:NixOS/nixpkgs&quot;</span><span class="tok-p">;</span>
flake-utils<span class="tok-o">.</span><span class="tok-ss">url</span> <span class="tok-o">=</span> <span class="tok-s2">&quot;github:numtide/flake-utils&quot;</span><span class="tok-p">;</span>
@ -5210,7 +5209,6 @@ hello-flake
</span> flake-utils<span class="tok-o">.</span>lib<span class="tok-o">.</span>eachDefaultSystem <span class="tok-p">(</span>system<span class="tok-p">:</span>
<span class="tok-k">let</span>
<span class="tok-ss">pkgs</span> <span class="tok-o">=</span> <span class="tok-nb">import</span> nixpkgs <span class="tok-p">{</span> <span class="tok-k">inherit</span> system<span class="tok-p">;</span> <span class="tok-p">};</span>
<span class="tok-k">inherit</span> hello-flake<span class="tok-p">;</span>
<span class="tok-k">in</span>
<span class="tok-p">{</span>
<span class="tok-ss">packages</span> <span class="tok-o">=</span> <span class="tok-k">rec</span> <span class="tok-p">{</span>
@ -5228,15 +5226,15 @@ hello-flake
<span class="tok-s tok-s-Multiline"> mkdir -p $out/bin</span>
<span class="tok-s tok-s-Multiline"> cp $src/hello-again $out/bin</span>
<span class="tok-s tok-s-Multiline"> chmod +x $out/bin/hello-again</span>
<span class="hll">
</span><span class="hll"><span class="tok-s tok-s-Multiline"> # modify the hello-again script so it can find hello-flake</span>
</span><span class="hll"><span class="tok-s tok-s-Multiline"> HELLO=$(type -p hello-flake)</span>
</span><span class="tok-s tok-s-Multiline"> sed &quot;s_hello-nix_&quot;$HELLO&quot;_&quot; --in-place $out/bin/hello-again</span>
<span class="tok-s tok-s-Multiline"> &#39;&#39;</span><span class="tok-p">;</span>
<span class="hll">
</span> <span class="tok-ss">buildInputs</span> <span class="tok-o">=</span> <span class="tok-p">[</span> hello-flake <span class="tok-p">];</span>
<span class="tok-p">};</span>
<span class="hll"><span class="tok-s tok-s-Multiline"> # modify the hello-again script so it can find hello-flake</span>
</span><span class="hll"><span class="tok-s tok-s-Multiline"> HELLO=$(type -p hello-flake)</span>
</span><span class="hll"><span class="tok-s tok-s-Multiline"> sed &quot;s_hello-flake_&quot;$HELLO&quot;_&quot; --in-place $out/bin/hello-again</span>
</span><span class="tok-s tok-s-Multiline"> &#39;&#39;</span><span class="tok-p">;</span>
<span class="hll"> <span class="tok-ss">buildInputs</span> <span class="tok-o">=</span> <span class="tok-p">[</span> hello-flake<span class="tok-o">.</span>packages<span class="tok-o">.</span><span class="tok-si">${</span>system<span class="tok-si">}</span><span class="tok-o">.</span>hello <span class="tok-p">];</span>
</span> <span class="tok-p">};</span>
<span class="tok-ss">default</span> <span class="tok-o">=</span> hello<span class="tok-p">;</span>
<span class="tok-p">};</span>
@ -5285,24 +5283,11 @@ In that case, adding the dependency to <code>buildInputs</code> is sufficient.</
<div class="literalblock">
<div class="content">
<pre class="nowrap">$ nix run
error:
… while calling the 'getAttr' builtin
at &lt;nix/derivation-internal.nix&gt;:50:17:
49| value = commonAttrs // {
50| outPath = builtins.getAttr outputName strict;
| ^
51| drvPath = strict.drvPath;
… while calling the 'derivationStrict' builtin
at &lt;nix/derivation-internal.nix&gt;:37:12:
36|
37| strict = derivationStrict drvAttrs;
| ^
38|
(stack trace truncated; use '--show-trace' to show the full, detailed trace)
error: Dependency is not of a valid type: element 1 of buildInputs for hello-again</pre>
this derivation will be built:
/nix/store/73n3x29aksn0dzr1fgqkwygrmdasrgcx-hello-again.drv
building '/nix/store/73n3x29aksn0dzr1fgqkwygrmdasrgcx-hello-again.drv'...
I'm a flake, and I'm running a command defined in a another flake.
Hello from your flake!</pre>
</div>
</div>
<div class="paragraph">
@ -5625,7 +5610,7 @@ Hello from your flake!</pre>
</div>
<div id="footer">
<div id="footer-text">
Last updated 2025-09-15 15:59:44 IST
Last updated 2025-09-15 16:06:57 IST
</div>
</div>
</body>