1
1
mirror of https://github.com/LnL7/nix-darwin.git synced 2024-09-11 04:35:46 +03:00

Merge pull request #831 from rkitover/high-sierra-fix

darwin-rebuild: fix sudo invocation on High Sierra
This commit is contained in:
Michael Hoang 2023-12-23 04:53:21 +10:00 committed by GitHub
commit 010a625bd7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -16,6 +16,14 @@ showSyntax() {
exit 1
}
sudo() {
if command sudo --help | grep -- --preserve-env= >/dev/null; then
command sudo -H --preserve-env=PATH env "$@"
else
command sudo -H "$@"
fi
}
# Parse the command line.
origArgs=("$@")
extraMetadataFlags=()
@ -187,7 +195,7 @@ fi
if [ "$action" = list ] || [ "$action" = rollback ]; then
if [ "$USER" != root ] && [ ! -w $(dirname "$profile") ]; then
sudo -H --preserve-env=PATH env nix-env -p "$profile" "${extraProfileFlags[@]}"
sudo nix-env -p "$profile" "${extraProfileFlags[@]}"
else
nix-env -p "$profile" "${extraProfileFlags[@]}"
fi
@ -205,7 +213,7 @@ if [ -z "$systemConfig" ]; then exit 0; fi
if [ "$action" = switch ]; then
if [ "$USER" != root ] && [ ! -w $(dirname "$profile") ]; then
sudo -H --preserve-env=PATH env nix-env -p "$profile" --set "$systemConfig"
sudo nix-env -p "$profile" --set "$systemConfig"
else
nix-env -p "$profile" --set "$systemConfig"
fi
@ -215,7 +223,7 @@ if [ "$action" = switch ] || [ "$action" = activate ] || [ "$action" = rollback
"$systemConfig/activate-user"
if [ "$USER" != root ]; then
sudo -H --preserve-env=PATH "$systemConfig/activate"
sudo "$systemConfig/activate"
else
"$systemConfig/activate"
fi