mirror of
https://github.com/NixOS/nix
synced 2025-06-29 14:53:16 +02:00
nix-shell
: look up shell.nix
when argument is a directory (#11057)
* Refactor: rename runEnv -> isNixShell * Refactor: rename left -> remainingArgs * nix-build.cc: Refactor: extract baseDir variable * nix-build.cc: Refactor: extract sourcePath, resolvedPath variables * nix-shell: Look for shell.nix when directory is specified * Add legacy setting: nix-shell-always-looks-for-shell-nix * rl-next: Add note about shell.nix lookups * tests/functional/shell.nix: Implement runHook for dummy stdenv
This commit is contained in:
parent
d8850618b6
commit
cfe3ee3de8
10 changed files with 198 additions and 29 deletions
|
@ -2650,7 +2650,7 @@ void EvalState::printStatistics()
|
|||
}
|
||||
|
||||
|
||||
SourcePath resolveExprPath(SourcePath path)
|
||||
SourcePath resolveExprPath(SourcePath path, bool addDefaultNix)
|
||||
{
|
||||
unsigned int followCount = 0, maxFollow = 1024;
|
||||
|
||||
|
@ -2666,7 +2666,7 @@ SourcePath resolveExprPath(SourcePath path)
|
|||
}
|
||||
|
||||
/* If `path' refers to a directory, append `/default.nix'. */
|
||||
if (path.resolveSymlinks().lstat().type == SourceAccessor::tDirectory)
|
||||
if (addDefaultNix && path.resolveSymlinks().lstat().type == SourceAccessor::tDirectory)
|
||||
return path / "default.nix";
|
||||
|
||||
return path;
|
||||
|
|
|
@ -850,8 +850,10 @@ std::string showType(const Value & v);
|
|||
|
||||
/**
|
||||
* If `path` refers to a directory, then append "/default.nix".
|
||||
*
|
||||
* @param addDefaultNix Whether to append "/default.nix" after resolving symlinks.
|
||||
*/
|
||||
SourcePath resolveExprPath(SourcePath path);
|
||||
SourcePath resolveExprPath(SourcePath path, bool addDefaultNix = true);
|
||||
|
||||
/**
|
||||
* Whether a URI is allowed, assuming restrictEval is enabled
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue