diff --git a/doc/manual/command-ref/nix-shell.xml b/doc/manual/command-ref/nix-shell.xml
index bb4a4e420..766482460 100644
--- a/doc/manual/command-ref/nix-shell.xml
+++ b/doc/manual/command-ref/nix-shell.xml
@@ -39,7 +39,12 @@
- packages
+
+
+ packages
+ expressions
+
+ path
@@ -189,8 +194,8 @@ also .
NIX_BUILD_SHELL
-
- Shell used to start the interactive environment.
+
+ Shell used to start the interactive environment.
Defaults to the bash found in PATH.
@@ -222,8 +227,9 @@ $ nix-shell '<nixpkgs>' -A pan --pure \
--command 'export NIX_DEBUG=1; export NIX_CORES=8; return'
-Nix expressions can also be given on the command line. For instance,
-the following starts a shell containing the packages
+Nix expressions can also be given on the command line using the
+-E and -p flags.
+For instance, the following starts a shell containing the packages
sqlite and libX11:
@@ -238,6 +244,14 @@ $ nix-shell -p sqlite xorg.libX11
… -L/nix/store/j1zg5v…-sqlite-3.8.0.2/lib -L/nix/store/0gmcz9…-libX11-1.6.1/lib …
+Note that -p accepts multiple full nix expressions that
+are valid in the buildInputs = [ ... ] shown above,
+not only package names. So the following is also legal:
+
+
+$ nix-shell -p sqlite 'git.override { withManual = false; }'
+
+
The -p flag looks up Nixpkgs in the Nix search
path. You can override it by passing or setting
NIX_PATH. For example, the following gives you a shell
diff --git a/doc/manual/command-ref/opt-common.xml b/doc/manual/command-ref/opt-common.xml
index 6a8107be9..0383bfaed 100644
--- a/doc/manual/command-ref/opt-common.xml
+++ b/doc/manual/command-ref/opt-common.xml
@@ -323,7 +323,14 @@
Nix expressions to be parsed and evaluated, rather than as a list
of file names of Nix expressions.
(nix-instantiate, nix-build
- and nix-shell only.)
+ and nix-shell only.)
+
+ For nix-shell, this option is commonly used
+ to give you a shell in which you can build the packages returned
+ by the expression. If you want to get a shell which contain the
+ built packages ready for use, give your
+ expression to the nix-shell -p convenience flag
+ instead.