This commit is contained in:
Amy de Buitléir 2025-09-04 17:21:20 +01:00
parent 95c1769aec
commit 4203bfd0d9

View file

@ -100,6 +100,7 @@ pre.pygments .tok-il { color: #666666 } /* Literal.Number.Integer.Long */
<div id="toc" class="toc2">
<div id="toctitle">Table of Contents</div>
<ul class="sectlevel1">
<li><a href="#_acknowledgments">Acknowledgments</a></li>
<li><a href="#_introduction">1. Introduction</a>
<ul class="sectlevel2">
<li><a href="#_why_nix">1.1. Why Nix?</a></li>
@ -342,6 +343,17 @@ and as a downloadable
</div>
</div>
<div class="sect1">
<h2 id="_acknowledgments">Acknowledgments</h2>
<div class="sectionbody">
<div class="paragraph">
<p>I would like to thank the patient people on the
<a href="https://discourse.nixos.org/">NixOS Discourse Forum</a>
who answered my many questions,
especially <code>cdepillabout</code> and <code>FedericoSchonborn</code>.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_introduction">1. Introduction</h2>
<div class="sectionbody">
<div class="sect2">
@ -4305,45 +4317,7 @@ hello-flake
<div class="listingblock">
<div class="title">flake.nix</div>
<div class="content">
<pre class="pygments highlight nowrap"><code data-lang="nix"><div class="lineno"><table class="linenotable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span>
<span class="normal">12</span>
<span class="normal">13</span>
<span class="normal">14</span>
<span class="normal">15</span>
<span class="normal">16</span>
<span class="normal">17</span>
<span class="normal">18</span>
<span class="normal">19</span>
<span class="normal">20</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>
<span class="tok-p">};</span>
<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>
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">in</span>
<span class="tok-p">{</span>
<span class="tok-ss">devShells</span> <span class="tok-o">=</span> <span class="tok-k">rec</span> <span class="tok-p">{</span>
<span class="tok-ss">default</span> <span class="tok-o">=</span> pkgs<span class="tok-o">.</span>mkShell <span class="tok-p">{</span>
<span class="tok-ss">packages</span> <span class="tok-o">=</span> <span class="tok-p">[</span> pkgs<span class="tok-o">.</span>cowsay <span class="tok-p">];</span>
<span class="tok-p">};</span>
<span class="tok-p">};</span>
<span class="tok-p">}</span>
<span class="tok-p">);</span>
<span class="tok-p">}</span>
<pre class="pygments highlight nowrap"><code data-lang="nix"><div class="lineno"><table class="linenotable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span>cat<span class="tok-p">:</span> flake<span class="tok-o">.</span>nix<span class="tok-p">:</span> No such file <span class="tok-ow">or</span> directory
</pre></div></td></tr></table></div></code></pre>
</div>
</div>
@ -4353,22 +4327,34 @@ hello-flake
<div class="literalblock">
<div class="content">
<pre class="nowrap">$ cowsay "Moo!"
bash: line 17: cowsay: command not found
bash: line 32: cowsay: command not found
$ nix develop
$ cowsay "Moo!"
______
&lt; Moo! &gt;
------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||</pre>
path '/home/amy/codeberg/nix-book/source/recipes/devshell/tempwork' does not contain a 'flake.nix', searching up
error: path '/home/amy/codeberg/nix-book' is not part of a flake (neither it nor its parent directories contain a 'flake.nix' file)</pre>
</div>
</div>
</div>
<div class="sect3">
<h4 id="_a_flake_3">10.4.2. A flake</h4>
<div class="listingblock">
<div class="title">flake.nix</div>
<div class="content">
<pre class="pygments highlight nowrap"><code data-lang="nix"><div class="lineno"><table class="linenotable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span>cat<span class="tok-p">:</span> flake<span class="tok-o">.</span>nix<span class="tok-p">:</span> No such file <span class="tok-ow">or</span> directory
</pre></div></td></tr></table></div></code></pre>
</div>
</div>
<div class="paragraph">
<p>Here&#8217;s a demonstration using the shell.</p>
</div>
<div class="literalblock">
<div class="content">
<pre class="nowrap">$ cowsay "Moo!"
bash: line 62: cowsay: command not found
$ nix develop
path '/home/amy/codeberg/nix-book/source/recipes/devshell/tempwork' does not contain a 'flake.nix', searching up
error: path '/home/amy/codeberg/nix-book' is not part of a flake (neither it nor its parent directories contain a 'flake.nix' file)</pre>
</div>
</div>
<div class="paragraph">
<p>FINISH</p>
</div>
@ -4956,7 +4942,7 @@ mkShell <span class="tok-p">{</span>
</div>
<div id="footer">
<div id="footer-text">
Last updated 2025-09-04 14:37:45 IST
Last updated 2025-09-04 17:04:48 IST
</div>
</div>
</body>