<eraserhd>
I am surprised that you get that error when it isn't there, though. How are you removing it from your nix path?
<__monty__>
What I'm confounded by is how having a non-existent path in the nix search path can possibly make a difference in how things like <nixpkgs> and <darwin> are resolved?
<__monty__>
It's in the second paste. Fish's set -ge is equivalent to exporting NIX_PATH without the entry at index 2 (starting at 1).
<eraserhd>
It looks like "darwin" wasn't set before, either? It's possible, I guess, that the darwin-rebuild script tries to insert this into the path after or before root/channels.
<eraserhd>
Oh... maybe you don't have read access to per-user/root/channels, but it exists, and when you 'switch', it needs it because it uses sudo, but not when building.
<__monty__>
Nope, listing it with sudo shows it's an empty directory. .../root that is.
Chiliparrot has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
Chiliparrot has joined #nix-darwin
<LnL>
there's an open issue for it, but nix probably shouldn't show warnings like this by default
<LnL>
the default includes both root and the user's for compatibility
<__monty__>
But why does having a nonexistent directory in the NIX_PATH change the result?
<__monty__>
That sounds like an impurity to me.
<LnL>
it doesn't
<LnL>
nix just warns about it
<__monty__>
LnL: Did you see my paste? If I remove that path I get an error.
<__monty__>
I kinda didn't want to do this through nixPath because I don't trust myself to keep it up to date.
<LnL>
alternative would be to remove the entry if it doesn't exist, but that kind of defeats the purpose so I'd prefer to move the warning to debug in nix itself
<__monty__>
I think it just shouldn't be added in the first place if the user decides to do a single-user install.
<LnL>
that means putting it in the config file
hedgie has quit [Read error: Connection reset by peer]
<__monty__>
How so? Isn't it defined in .nix-profile/etc/profile.d/nix.sh? Which differs between single- and multi-user installs afaiui. So the single-user version could just not add that path.