summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorMichael Hoang <enzime@users.noreply.github.com>2024-10-24 18:30:55 +1100
committerMichael Hoang <enzime@users.noreply.github.com>2024-10-24 18:33:05 +1100
commitb089e7e7266403ddda9f96bfd8c5adf9a0f0f6b5 (patch)
tree3fd1c5ff7586907b9f1aa4e55ece1ebbe052da76 /modules
parentb702750226a86abb029440641bfa994ff650cf99 (diff)
users: switch back to using `dscl` for deleting users
The previous default behaviour when nix-darwin deletes users is that their home directories are left intact, however as the `-keepHome` flag for `sysadminctl -deleteUser` is broken, we'll need to switch back for now.
Diffstat (limited to 'modules')
-rw-r--r--modules/users/default.nix4
1 files changed, 3 insertions, 1 deletions
diff --git a/modules/users/default.nix b/modules/users/default.nix
index 9227080..0cb4350 100644
--- a/modules/users/default.nix
+++ b/modules/users/default.nix
@@ -189,8 +189,10 @@ in
requireFDA "$1" deleted
- sysadminctl -deleteUser "$1" 2> /dev/null
+ dscl . -delete "/Users/$1" 2> /dev/null
+ # `dscl . -delete` should exit with a non-zero exit code when there's an error, but we'll leave
+ # this code here just in case and for when we switch to `sysadminctl -deleteUser`
# We need to check as `sysadminctl -deleteUser` still exits with exit code 0 when there's an error
if id "$1" &> /dev/null; then
printf >&2 '\e[1;31merror: failed to delete user %s, aborting activation\e[0m\n', "$1"