mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-22 14:06:16 +02:00
Merge pull request #10391 from edolstra/home-symlink
Handle the case where a parent of ~/.nix-defexpr is a symlink
This commit is contained in:
commit
bf86b939f8
2 changed files with 7 additions and 1 deletions
|
@ -109,7 +109,7 @@ static void getAllExprs(EvalState & state,
|
||||||
const SourcePath & path, StringSet & seen, BindingsBuilder & attrs)
|
const SourcePath & path, StringSet & seen, BindingsBuilder & attrs)
|
||||||
{
|
{
|
||||||
StringSet namesSorted;
|
StringSet namesSorted;
|
||||||
for (auto & [name, _] : path.readDirectory()) namesSorted.insert(name);
|
for (auto & [name, _] : path.resolveSymlinks().readDirectory()) namesSorted.insert(name);
|
||||||
|
|
||||||
for (auto & i : namesSorted) {
|
for (auto & i : namesSorted) {
|
||||||
/* Ignore the manifest.nix used by profiles. This is
|
/* Ignore the manifest.nix used by profiles. This is
|
||||||
|
|
|
@ -189,3 +189,9 @@ nix-env --set $outPath10
|
||||||
[ "$(nix-store -q --resolve $profiles/test)" = $outPath10 ]
|
[ "$(nix-store -q --resolve $profiles/test)" = $outPath10 ]
|
||||||
nix-env --set $drvPath10
|
nix-env --set $drvPath10
|
||||||
[ "$(nix-store -q --resolve $profiles/test)" = $outPath10 ]
|
[ "$(nix-store -q --resolve $profiles/test)" = $outPath10 ]
|
||||||
|
|
||||||
|
# Test the case where $HOME contains a symlink.
|
||||||
|
mkdir -p $TEST_ROOT/real-home/alice/.nix-defexpr/channels
|
||||||
|
ln -sfn $TEST_ROOT/real-home $TEST_ROOT/home
|
||||||
|
ln -sfn $(pwd)/user-envs.nix $TEST_ROOT/home/alice/.nix-defexpr/channels/foo
|
||||||
|
HOME=$TEST_ROOT/home/alice nix-env -i foo-0.1
|
||||||
|
|
Loading…
Reference in a new issue