mirror of
https://codeberg.org/mhwombat/nix-book.git
synced 2026-02-22 12:55:21 +08:00
temp
This commit is contained in:
parent
118ee240d7
commit
2d07f3ceeb
4 changed files with 41 additions and 16 deletions
26
index.html
26
index.html
|
|
@ -4865,20 +4865,20 @@ together with the <em>high-level workflow</em> described in <a href="#_developme
|
|||
<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>
|
||||
<span class="hll"> <span class="tok-p">};</span>
|
||||
</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> pandoc-columns <span class="tok-p">}:</span>
|
||||
<span class="hll"> 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> <span class="tok-k">let</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-ss">customGhc</span> <span class="tok-o">=</span> pkgs<span class="tok-o">.</span>haskellPackages<span class="tok-o">.</span>ghcWithPackages <span class="tok-p">(</span>p<span class="tok-p">:</span> <span class="tok-k">with</span> p<span class="tok-p">;</span> <span class="tok-p">[</span> extra <span class="tok-p">]);</span>
|
||||
<span class="hll"> <span class="tok-k">in</span>
|
||||
</span> <span class="tok-p">{</span>
|
||||
<span class="hll"> <span class="tok-ss">customGhc</span> <span class="tok-o">=</span> pkgs<span class="tok-o">.</span>haskellPackages<span class="tok-o">.</span>ghcWithPackages <span class="tok-p">(</span>p<span class="tok-p">:</span> <span class="tok-k">with</span> p<span class="tok-p">;</span> <span class="tok-p">[</span> p<span class="tok-o">.</span>extra <span class="tok-p">]);</span>
|
||||
</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">buildInputs</span> <span class="tok-o">=</span> <span class="tok-p">[</span> customGhc <span class="tok-p">];</span>
|
||||
<span class="hll"> <span class="tok-p">};</span>
|
||||
<span class="hll"> <span class="tok-ss">buildInputs</span> <span class="tok-o">=</span> <span class="tok-p">[</span> customGhc <span class="tok-p">];</span>
|
||||
</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>
|
||||
|
|
@ -4886,10 +4886,8 @@ together with the <em>high-level workflow</em> described in <a href="#_developme
|
|||
</div>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p>Line 5 adds <code>pandoc-columns</code> as an input to this flake.
|
||||
Line 8 allows the output function to reference <code>pandoc-columns</code>.
|
||||
Line 12 makes a custom GHC that knows about <code>pandoc-columns</code>,
|
||||
and line 17 uses the custom GHC as a build input for this flake.</p>
|
||||
<p>Line 12 makes a custom GHC that knows about <code>extra</code>,
|
||||
and line 16 makes that custom GHC available in the development environment.</p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p>Here’s a short Haskell program that uses the new flake.</p>
|
||||
|
|
@ -5635,7 +5633,7 @@ Hello from your flake!</pre>
|
|||
</div>
|
||||
<div id="footer">
|
||||
<div id="footer-text">
|
||||
Last updated 2025-09-15 18:36:03 IST
|
||||
Last updated 2025-09-15 18:39:35 IST
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
////
|
||||
$ mkdir tempwork
|
||||
$ cd tempwork
|
||||
$ cp Main.hs ../flake.nix .
|
||||
$ cp ../Main.hs ../flake.nix .
|
||||
$ git add Main.hs flake.nix
|
||||
$ nix develop
|
||||
$ git add flake.lock
|
||||
|
|
|
|||
6
source/recipes/devshell/haskell-pkg/tempwork/Main.hs
Normal file
6
source/recipes/devshell/haskell-pkg/tempwork/Main.hs
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
import Data.List.Extra
|
||||
|
||||
main :: IO ()
|
||||
main = do
|
||||
print $ lower "ABCDE"
|
||||
print $ upper "XYZ"
|
||||
21
source/recipes/devshell/haskell-pkg/tempwork/flake.nix
Normal file
21
source/recipes/devshell/haskell-pkg/tempwork/flake.nix
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, flake-utils, pandoc-columns }:
|
||||
flake-utils.lib.eachDefaultSystem (system:
|
||||
let
|
||||
pkgs = import nixpkgs { inherit system; };
|
||||
customGhc = pkgs.haskellPackages.ghcWithPackages (p: with p; [ p.extra ]);
|
||||
in
|
||||
{
|
||||
devShells = rec {
|
||||
default = pkgs.mkShell {
|
||||
buildInputs = [ customGhc ];
|
||||
};
|
||||
};
|
||||
}
|
||||
);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue