Skip to content

Instantly share code, notes, and snippets.

@LnL7
Created January 15, 2017 20:50
Show Gist options
  • Save LnL7/ed6a23cd803fdb371e853fe970a848a3 to your computer and use it in GitHub Desktop.
Save LnL7/ed6a23cd803fdb371e853fe970a848a3 to your computer and use it in GitHub Desktop.
#!/bin/sh
printf "checking for nixbld group... "
/usr/bin/dscl . -read /Groups/nixbld &> /dev/null
case $? in
0) echo "yes" ;;
56)
echo "no, created"
sudo /usr/sbin/dseditgroup -o create -r "Nix build group for nix-daemon" -i 30000 nixbld >&2 || exit
;;
esac
for i in $(seq 1 10); do
printf "checking for nixbld$i user... "
/usr/bin/id nixbld$i &> /dev/null
case $? in
0) echo "yes" ;;
1)
echo "no, created"
sudo /usr/sbin/sysadminctl -fullName "Nix build user $i" -home /var/empty -shell /sbin/nologin -UID $(expr 30000 + $i) -addUser nixbld$i >&2 || exit # -shell /sbin/nologin
sudo dscl . -create /Users/nixbld$i IsHidden 1 || exit
sudo dscl . -create /Users/nixbld$i UserShell /sbin/nologin || exit
;;
esac
printf "checking group of nixbld$i user... "
if test "$(/usr/bin/id -g nixbld$i)" -eq 30000; then
echo "ok"
else
echo "no, updated"
sudo /usr/sbin/dseditgroup -o edit -t user -a nixbld$i nixbld
sudo /usr/bin/dscl . -create /Users/nixbld$i PrimaryGroupID 30000 >&2 || exit
fi
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment