darwin installer: fix on High Sierra
This commit is contained in:
parent
e3013543d3
commit
be79d1f189
1 changed files with 20 additions and 6 deletions
|
@ -473,10 +473,8 @@ create_build_user_for_core() {
|
||||||
|
|
||||||
if ! /usr/bin/dscl . -read "$dsclpath" > /dev/null 2>&1; then
|
if ! /usr/bin/dscl . -read "$dsclpath" > /dev/null 2>&1; then
|
||||||
_sudo "Creating the Nix build user, $username" \
|
_sudo "Creating the Nix build user, $username" \
|
||||||
/usr/sbin/sysadminctl -addUser -fullName "Nix build user $coreid" \
|
/usr/bin/dscl . create "$dsclpath" \
|
||||||
-home /var/empty \
|
UniqueID "${uid}"
|
||||||
-UID "${uid}" \
|
|
||||||
-addUser "${username}"
|
|
||||||
row " Created" "Yes"
|
row " Created" "Yes"
|
||||||
else
|
else
|
||||||
actual_uid=$(dsclattr "$dsclpath" "UniqueID")
|
actual_uid=$(dsclattr "$dsclpath" "UniqueID")
|
||||||
|
@ -504,6 +502,22 @@ EOF
|
||||||
row " IsHidden" "Yes"
|
row " IsHidden" "Yes"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "$(dsclattr "$dsclpath" "NFSHomeDirectory")" = "/var/empty" ]; then
|
||||||
|
row " NFSHomeDirectory" "/var/empty"
|
||||||
|
else
|
||||||
|
_sudo "in order to give $username a safe home directory" \
|
||||||
|
/usr/bin/dscl . -create "$dsclpath" "NFSHomeDirectory" "/var/empty"
|
||||||
|
row " NFSHomeDirectory" "/var/empty"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$(dsclattr "$dsclpath" "RealName")" = "Nix build user $coreid" ]; then
|
||||||
|
row " RealName" "Nix build user $coreid"
|
||||||
|
else
|
||||||
|
_sudo "in order to give $username a useful name" \
|
||||||
|
/usr/bin/dscl . -create "$dsclpath" "RealName" "Nix build user $coreid"
|
||||||
|
row " RealName" "Nix build user $coreid"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$(dsclattr "$dsclpath" "UserShell")" = "/sbin/nologin" ]; then
|
if [ "$(dsclattr "$dsclpath" "UserShell")" = "/sbin/nologin" ]; then
|
||||||
row " Logins Disabled" "Yes"
|
row " Logins Disabled" "Yes"
|
||||||
else
|
else
|
||||||
|
@ -521,11 +535,11 @@ EOF
|
||||||
row " Member of $NIX_BUILD_GROUP_NAME" "Yes"
|
row " Member of $NIX_BUILD_GROUP_NAME" "Yes"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$(dsclattr "$dsclpath" "PrimaryGroupId")" = "$NIX_BUILD_GROUP_ID" ]; then
|
if [ "$(dsclattr "$dsclpath" "PrimaryGroupID")" = "$NIX_BUILD_GROUP_ID" ]; then
|
||||||
row " PrimaryGroupID" "$NIX_BUILD_GROUP_ID"
|
row " PrimaryGroupID" "$NIX_BUILD_GROUP_ID"
|
||||||
else
|
else
|
||||||
_sudo "to let the nix daemon use this user for builds (this might seem redundant, but there are two concepts of group membership)" \
|
_sudo "to let the nix daemon use this user for builds (this might seem redundant, but there are two concepts of group membership)" \
|
||||||
/usr/bin/dscl . -create "$dsclpath" "PrimaryGroupId" "$NIX_BUILD_GROUP_ID"
|
/usr/bin/dscl . -create "$dsclpath" "PrimaryGroupID" "$NIX_BUILD_GROUP_ID"
|
||||||
row " PrimaryGroupID" "$NIX_BUILD_GROUP_ID"
|
row " PrimaryGroupID" "$NIX_BUILD_GROUP_ID"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in a new issue