diff options
-rw-r--r-- | doc/manual/nix-shell.xml | 18 | ||||
-rwxr-xr-x | scripts/nix-build.in | 3 |
2 files changed, 14 insertions, 7 deletions
diff --git a/doc/manual/nix-shell.xml b/doc/manual/nix-shell.xml index 866b3413b967..e57c726f5394 100644 --- a/doc/manual/nix-shell.xml +++ b/doc/manual/nix-shell.xml @@ -31,20 +31,26 @@ <arg><option>--command</option> <replaceable>cmd</replaceable></arg> <arg><option>--exclude</option> <replaceable>regexp</replaceable></arg> <arg><option>--pure</option></arg> - <arg choice='plain' rep='repeat'><replaceable>paths</replaceable></arg> + <arg><replaceable>path</replaceable></arg> </cmdsynopsis> </refsynopsisdiv> <refsection><title>Description</title> -<para>The command <command>nix-shell</command> will build -the dependencies of the specified derivation, but not the derivation +<para>The command <command>nix-shell</command> will build the +dependencies of the specified derivation, but not the derivation itself. It will then start an interactive shell in which all -environment variables defined by the derivation have been set to their -corresponding values, and the script <literal>$stdenv/setup</literal> -has been sourced. This is useful for reproducing the environment of a +environment variables defined by the derivation +<replaceable>path</replaceable> have been set to their corresponding +values, and the script <literal>$stdenv/setup</literal> has been +sourced. This is useful for reproducing the environment of a derivation for development.</para> +<para>If <replaceable>path</replaceable> is not given, +<command>nix-shell</command> defaults to +<filename>shell.nix</filename> if it exists, and +<filename>default.nix</filename> otherwise.</para> + </refsection> diff --git a/scripts/nix-build.in b/scripts/nix-build.in index 168730bbc92d..fff71021fbf8 100755 --- a/scripts/nix-build.in +++ b/scripts/nix-build.in @@ -149,7 +149,8 @@ for (my $n = 0; $n < scalar @ARGV; $n++) { } } -@exprs = ("./default.nix") if scalar @exprs == 0; +@exprs = ("shell.nix") if scalar @exprs == 0 && $runEnv && -e "shell.nix"; +@exprs = ("default.nix") if scalar @exprs == 0; $ENV{'IN_NIX_SHELL'} = 1 if $runEnv; |