mirror of
https://codeberg.org/mhwombat/nix-book.git
synced 2026-05-12 19:53:56 +08:00
temp
This commit is contained in:
parent
fc95b866c8
commit
fd43fd4f00
2 changed files with 21 additions and 22 deletions
41
index.html
41
index.html
|
|
@ -5410,9 +5410,7 @@ hello-nix
|
|||
<span class="normal">48</span>
|
||||
<span class="normal">49</span>
|
||||
<span class="normal">50</span>
|
||||
<span class="normal">51</span>
|
||||
<span class="normal">52</span>
|
||||
<span class="normal">53</span></pre></div></td><td class="code"><div><pre><span></span><span class="tok-p">{</span>
|
||||
<span class="normal">51</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">"github:NixOS/nixpkgs"</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">"github:numtide/flake-utils"</span><span class="tok-p">;</span>
|
||||
|
|
@ -5425,13 +5423,11 @@ hello-nix
|
|||
<span class="tok-ss">outputs</span> <span class="tok-o">=</span> <span class="tok-p">{</span> self<span class="tok-p">,</span> nixpkgs<span class="tok-p">,</span> flake-utils<span class="tok-p">,</span> hello-nix <span class="tok-p">}:</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="hll"> <span class="tok-ss">helloNix</span> <span class="tok-o">=</span> <span class="tok-nb">import</span> hello-nix <span class="tok-p">{</span> <span class="tok-k">inherit</span> pkgs<span class="tok-p">;</span> <span class="tok-p">};</span>
|
||||
</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>
|
||||
<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-ss">helloNix</span> <span class="tok-o">=</span> <span class="tok-nb">import</span> hello-nix <span class="tok-p">{</span> <span class="tok-k">inherit</span> pkgs<span class="tok-p">;</span> <span class="tok-p">};</span>
|
||||
<span class="tok-k">in</span>
|
||||
<span class="hll"> <span class="tok-p">{</span>
|
||||
</span> <span class="tok-ss">packages</span> <span class="tok-o">=</span> <span class="tok-k">rec</span> <span class="tok-p">{</span>
|
||||
<span class="tok-ss">hello</span> <span class="tok-o">=</span> pkgs<span class="tok-o">.</span>stdenv<span class="tok-o">.</span>mkDerivation <span class="tok-k">rec</span> <span class="tok-p">{</span>
|
||||
<span class="tok-ss">name</span> <span class="tok-o">=</span> <span class="tok-s2">"hello-again"</span><span class="tok-p">;</span>
|
||||
|
||||
|
|
@ -5447,16 +5443,16 @@ hello-nix
|
|||
<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 class="tok-s tok-s-Multiline"> # modify the hello-again script so it can find hello-nix</span>
|
||||
</span><span class="hll"><span class="tok-s tok-s-Multiline"> HELLO=$(type -p hello-nix)</span>
|
||||
</span><span class="hll"><span class="tok-s tok-s-Multiline"> sed "s_hello-nix_"$HELLO"_" --in-place $out/bin/hello-again</span>
|
||||
</span><span class="tok-s tok-s-Multiline"> ''</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> helloNix <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>
|
||||
<span class="tok-s tok-s-Multiline"> # modify the hello-again script so it can find hello-nix</span>
|
||||
<span class="tok-s tok-s-Multiline"> HELLO=$(type -p hello-nix)</span>
|
||||
<span class="hll"><span class="tok-s tok-s-Multiline"> sed "s_hello-nix_"$HELLO"_" --in-place $out/bin/hello-again</span>
|
||||
</span><span class="hll"><span class="tok-s tok-s-Multiline"> ''</span><span class="tok-p">;</span>
|
||||
</span><span class="hll">
|
||||
</span>
|
||||
<span class="tok-ss">buildInputs</span> <span class="tok-o">=</span> <span class="tok-p">[</span> helloNix <span class="tok-p">];</span>
|
||||
<span class="tok-p">};</span>
|
||||
<span class="hll"> <span class="tok-ss">default</span> <span class="tok-o">=</span> hello<span class="tok-p">;</span>
|
||||
</span> <span class="tok-p">};</span>
|
||||
|
||||
<span class="tok-ss">apps</span> <span class="tok-o">=</span> <span class="tok-k">rec</span> <span class="tok-p">{</span>
|
||||
<span class="tok-ss">hello</span> <span class="tok-o">=</span> flake-utils<span class="tok-o">.</span>lib<span class="tok-o">.</span>mkApp <span class="tok-p">{</span> <span class="tok-ss">drv</span> <span class="tok-o">=</span> self<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 class="tok-p">};</span>
|
||||
|
|
@ -5503,6 +5499,9 @@ In that case, adding the dependency to <code>buildInputs</code> is sufficient.</
|
|||
<div class="literalblock">
|
||||
<div class="content">
|
||||
<pre class="nowrap">$ nix run
|
||||
this derivation will be built:
|
||||
/nix/store/jdh3r0w60rddfk1k0wfp6dcxj9ld0xhi-hello-again.drv
|
||||
building '/nix/store/jdh3r0w60rddfk1k0wfp6dcxj9ld0xhi-hello-again.drv'...
|
||||
I'm a flake, but I'm running a command defined in a non-flake package.
|
||||
Hello from your nix package!</pre>
|
||||
</div>
|
||||
|
|
@ -5568,7 +5567,7 @@ Hello from your flake!</pre>
|
|||
</div>
|
||||
<div id="footer">
|
||||
<div id="footer-text">
|
||||
Last updated 2025-09-15 15:37:52 IST
|
||||
Last updated 2025-09-15 15:39:36 IST
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ All it does is invoke `hello-nix`, which is the input we added <<#devshell-nix-n
|
|||
$# cat hello-again
|
||||
....
|
||||
|
||||
[source,nix,linenums,highlight='5..8,17,36..38,42']
|
||||
[source,nix,linenums,highlight='5..8,15,34..36,40']
|
||||
.flake.nix
|
||||
....
|
||||
$# cat flake.nix
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue