nix-env: Refuse to operate on a new-style profile

This prevents users from accidentally nuking their profile via
nix-env.

(cherry picked from commit 021634e3e3)
This commit is contained in:
Eelco Dolstra 2020-04-02 11:54:48 +02:00
parent 47c568ee32
commit 63fa92605b

View file

@ -15,6 +15,8 @@ namespace nix {
DrvInfos queryInstalled(EvalState & state, const Path & userEnv)
{
DrvInfos elems;
if (pathExists(userEnv + "/manifest.json"))
throw Error("profile '%s' is incompatible with 'nix-env'; please use 'nix profile' instead", userEnv);
Path manifestFile = userEnv + "/manifest.nix";
if (pathExists(manifestFile)) {
Value v;