home-manager: remove manually installed home-manager
If the `home-manager` module is enabled then check if the `home-manager` package is installed using `nix-env -i` and if so then it is automatically uninstalled before the new package environment, which includes home-manager, is installed.
This commit is contained in:
parent
cdb2bec909
commit
2e257f40e6
|
@ -1,6 +1,7 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
with import ../lib/dag.nix;
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
|
@ -35,5 +36,17 @@ in
|
||||||
inherit (cfg) modulesPath;
|
inherit (cfg) modulesPath;
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# Uninstall manually installed home-manager, if such exists.
|
||||||
|
# Without this a file collision error will be printed.
|
||||||
|
home.activation.uninstallHomeManager =
|
||||||
|
dagEntryBetween [ "installPackages" ] [ "writeBoundary" ] ''
|
||||||
|
if nix-env -q | grep -q '^home-manager$' ; then
|
||||||
|
$DRY_RUN_CMD nix-env -e home-manager
|
||||||
|
|
||||||
|
echo "You can now remove the 'home-manager' entry in"
|
||||||
|
echo "'~/.config/nixpkgs/config.nix', if you want."
|
||||||
|
fi
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue