summary refs log tree commit diff
path: root/doc/shell.md
diff options
context:
space:
mode:
authorzimbatm <zimbatm@zimbatm.com>2017-12-20 23:42:07 +0000
committerGitHub <noreply@github.com>2017-12-20 23:42:07 +0000
commitadc5c9b83df203c9e425efe00f9a788ed3554c2d (patch)
tree04ce943811c6bfffa250069666d38cff2301d0cf /doc/shell.md
parent02d361cea9d20fe4746092a9ced207b1d0dcd9e9 (diff)
mkShell: add builder (#30975)
Diffstat (limited to 'doc/shell.md')
-rw-r--r--doc/shell.md20
1 files changed, 20 insertions, 0 deletions
diff --git a/doc/shell.md b/doc/shell.md
new file mode 100644
index 0000000000000..a4f999695cbc6
--- /dev/null
+++ b/doc/shell.md
@@ -0,0 +1,20 @@
+---
+title: stdenv.mkShell
+author: zimbatm
+date: 2017-10-30
+---
+
+stdenv.mkShell is a special kind of derivation that is only useful when using
+it combined with nix-shell. It will in fact fail to instantiate when invoked
+with nix-build.
+
+## Usage
+
+```nix
+{ 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 ];
+}
+```