aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Helgesson <robert@rycee.net>2020-02-15 19:26:23 +0100
committerRobert Helgesson <robert@rycee.net>2020-02-15 19:26:23 +0100
commite1153f4d2e403f4ab06797571e7ec5c63d091fbe (patch)
tree62fb339b0d70222333f377e3290b982bbcd7e507
parent7b7499dd7099b4e2f33d0244c6a7301dd4572399 (diff)
home-manager: make sure all files are uninstalled
This forces the `home.file` option to be completely empty when switching to the uninstall configuration. This is necessary to guard against files are added by default in Home Manager, such as `$XDG_CACHE_HOME/.keep`.
-rw-r--r--home-manager/home-manager2
1 files changed, 1 insertions, 1 deletions
diff --git a/home-manager/home-manager b/home-manager/home-manager
index d5a4c4f41a1..b0821dfacb6 100644
--- a/home-manager/home-manager
+++ b/home-manager/home-manager
@@ -375,7 +375,7 @@ function doUninstall() {
y|Y)
echo "Switching to empty Home Manager configuration..."
HOME_MANAGER_CONFIG="$(mktemp --tmpdir home-manager.XXXXXXXXXX)"
- echo "{}" > "$HOME_MANAGER_CONFIG"
+ echo "{ lib, ... }: { home.file = lib.mkForce {}; }" > "$HOME_MANAGER_CONFIG"
doSwitch
rm "$HOME_MANAGER_CONFIG"
$DRY_RUN_CMD rm $VERBOSE_ARG -r \