about summary refs log tree commit diff
path: root/doc/functions/shell.xml
blob: a8d2a30cb50845c3a91b8f3ad1c86beec6461252 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<section xmlns="http://docbook.org/ns/docbook"
         xmlns:xlink="http://www.w3.org/1999/xlink"
         xmlns:xi="http://www.w3.org/2001/XInclude"
         xml:id="sec-pkgs-mkShell">
  <title>pkgs.mkShell</title>

  <para>
    <function>pkgs.mkShell</function> is a special kind of derivation
    that is only useful when using it combined with
    <command>nix-shell</command>. It will in fact fail to instantiate
    when invoked with <command>nix-build</command>.
  </para>

  <section xml:id="sec-pkgs-mkShell-usage">
    <title>Usage</title>

    <programlisting><![CDATA[
{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
  # this will make all the build inputs from hello and gnutar
  # available to the shell environment
  inputsFrom = with pkgs; [ hello gnutar ];
  buildInputs = [ pkgs.gnumake ];
}
]]></programlisting>
  </section>
</section>