forked from lix-project/lix
Merge pull request #3551 from mkenigs/rename-commands
Rename nix app and nix run commands
This commit is contained in:
commit
0038bbafde
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -21,7 +21,7 @@ nix_tests = \
|
|||
fetchGitSubmodules.sh \
|
||||
fetchMercurial.sh \
|
||||
signing.sh \
|
||||
run.sh \
|
||||
shell.sh \
|
||||
brotli.sh \
|
||||
pure-eval.sh \
|
||||
check.sh \
|
||||
|
|
28
tests/run.sh
28
tests/run.sh
|
@ -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
28
tests/shell.sh
Normal 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 ]]
|
Loading…
Reference in a new issue