Merge pull request #3551 from mkenigs/rename-commands

Rename nix app and nix run commands
This commit is contained in:
Eelco Dolstra 2020-04-30 16:39:23 +02:00 committed by GitHub
commit 0038bbafde
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 40 additions and 40 deletions

View file

@ -57,11 +57,11 @@ struct RunCommon : virtual Command
}
};
struct CmdRun : InstallablesCommand, RunCommon, MixEnvironment
struct CmdShell : InstallablesCommand, RunCommon, MixEnvironment
{
std::vector<std::string> command = { getEnv("SHELL").value_or("bash") };
CmdRun()
CmdShell()
{
mkFlag()
.longName("command")
@ -85,19 +85,19 @@ struct CmdRun : InstallablesCommand, RunCommon, MixEnvironment
return {
Example{
"To start a shell providing GNU Hello from NixOS 17.03:",
"nix run -f channel:nixos-17.03 hello"
"nix shell -f channel:nixos-17.03 hello"
},
Example{
"To start a shell providing youtube-dl from your 'nixpkgs' channel:",
"nix run nixpkgs#youtube-dl"
"nix shell nixpkgs#youtube-dl"
},
Example{
"To run GNU Hello:",
"nix run nixpkgs#hello -c hello --greeting 'Hi everybody!'"
"nix shell nixpkgs#hello -c hello --greeting 'Hi everybody!'"
},
Example{
"To run GNU Hello in a chroot store:",
"nix run --store ~/my-nix nixpkgs#hello -c hello"
"nix shell --store ~/my-nix nixpkgs#hello -c hello"
},
};
}
@ -141,13 +141,13 @@ struct CmdRun : InstallablesCommand, RunCommon, MixEnvironment
}
};
static auto r1 = registerCommand<CmdRun>("run");
static auto r1 = registerCommand<CmdShell>("shell");
struct CmdApp : InstallableCommand, RunCommon
struct CmdRun : InstallableCommand, RunCommon
{
std::vector<std::string> args;
CmdApp()
CmdRun()
{
expectArgs("args", &args);
}
@ -162,7 +162,7 @@ struct CmdApp : InstallableCommand, RunCommon
return {
Example{
"To run Blender:",
"nix app blender-bin"
"nix run blender-bin"
},
};
}
@ -192,7 +192,7 @@ struct CmdApp : InstallableCommand, RunCommon
}
};
static auto r2 = registerCommand<CmdApp>("app");
static auto r2 = registerCommand<CmdRun>("run");
void chrootHelper(int argc, char * * argv)
{

View file

@ -21,7 +21,7 @@ nix_tests = \
fetchGitSubmodules.sh \
fetchMercurial.sh \
signing.sh \
run.sh \
shell.sh \
brotli.sh \
pure-eval.sh \
check.sh \

View file

@ -1,28 +0,0 @@
source common.sh
clearStore
clearCache
nix run -f run.nix hello -c hello | grep 'Hello World'
nix run -f run.nix hello -c hello NixOS | grep 'Hello NixOS'
if ! canUseSandbox; then exit; fi
chmod -R u+w $TEST_ROOT/store0 || true
rm -rf $TEST_ROOT/store0
clearStore
path=$(nix eval --raw -f run.nix hello)
# Note: we need the sandbox paths to ensure that the shell is
# visible in the sandbox.
nix run --sandbox-build-dir /build-tmp \
--sandbox-paths '/nix? /bin? /lib? /lib64? /usr?' \
--store $TEST_ROOT/store0 -f run.nix hello -c hello | grep 'Hello World'
path2=$(nix run --sandbox-paths '/nix? /bin? /lib? /lib64? /usr?' --store $TEST_ROOT/store0 -f run.nix hello -c $SHELL -c 'type -p hello')
[[ $path/bin/hello = $path2 ]]
[[ -e $TEST_ROOT/store0/nix/store/$(basename $path)/bin/hello ]]

28
tests/shell.sh Normal file
View file

@ -0,0 +1,28 @@
source common.sh
clearStore
clearCache
nix shell -f shell-hello.nix hello -c hello | grep 'Hello World'
nix shell -f shell-hello.nix hello -c hello NixOS | grep 'Hello NixOS'
if ! canUseSandbox; then exit; fi
chmod -R u+w $TEST_ROOT/store0 || true
rm -rf $TEST_ROOT/store0
clearStore
path=$(nix eval --raw -f shell-hello.nix hello)
# Note: we need the sandbox paths to ensure that the shell is
# visible in the sandbox.
nix shell --sandbox-build-dir /build-tmp \
--sandbox-paths '/nix? /bin? /lib? /lib64? /usr?' \
--store $TEST_ROOT/store0 -f shell-hello.nix hello -c hello | grep 'Hello World'
path2=$(nix shell --sandbox-paths '/nix? /bin? /lib? /lib64? /usr?' --store $TEST_ROOT/store0 -f shell-hello.nix hello -c $SHELL -c 'type -p hello')
[[ $path/bin/hello = $path2 ]]
[[ -e $TEST_ROOT/store0/nix/store/$(basename $path)/bin/hello ]]