@cryptotaxi247 / infra-1 / commits / a122f418

Disable pre-build-hook on the Macs

The pre-build-hook segfaults and we don't need it because we're not doing sandbox builds.

Eelco Dolstra committed Aug 12, 2016 at 16:55 UTC a122f418797713d519aadf02e677fce0dc1cb446
2 files changed +68
delft/scripts/nix-mac-installer.sh new
+49
@@ -0,0 +1,49 @@
1 +#! /usr/bin/env bash
2 +
3 +set -e
4 +
5 +if [[ $(id -u) != 0 ]]; then
6 + echo "$0: please run this script as root"
7 + exit 1
8 +fi
9 +
10 +export HOME=/var/root
11 +
12 +if ! dscl . read /Groups/nixbld > /dev/null 2>&1; then
13 + dseditgroup -o create nixbld -q
14 +fi
15 +
16 +gid=$(dscl . -read /Groups/nixbld | awk '($1 == "PrimaryGroupID:") {print $2 }')
17 +
18 +echo "created nixbld group with gid $gid"
19 +
20 +for i in $(seq 1 10); do
21 + user=/Users/nixbld$i
22 + uid="$((30000 + $i))"
23 + dscl . -create $user
24 + dscl . -create $user RealName "Nix build user $i"
25 + dscl . -create $user PrimaryGroupID "$gid"
26 + dscl . -create $user UserShell /usr/bin/false
27 + dscl . -create $user NFSHomeDirectory /var/empty
28 + dscl . -create $user UniqueID "$uid"
29 + dseditgroup -o edit -a nixbld$i -t user nixbld
30 + echo "created nixbld$i user with uid $uid"
31 +done
32 +
33 +curl https://nixos.org/nix/install | sh
34 +
35 +mkdir -p /etc/nix
36 +echo "pre-build-hook = " > /etc/nix/nix.conf
37 +
38 +mkdir -p /var/root/.ssh
39 +touch /var/root/.ssh/authorized_keys
40 +grep -v "buildfarm@nixos" /var/root/.ssh/authorized_keys > /var/root/.ssh/authorized_keys.tmp || true
41 +echo 'command="TMPDIR=/var/tmp SSL_CERT_FILE=/nix/var/nix/profiles/default/etc/ssl/certs/ca-bundle.crt /nix/var/nix/profiles/default/bin/nix-store --serve --write" ssh-dss AAAAB3NzaC1kc3MAAACBAMHRjGSDaBp4Z30JF4S9ApabBCpdr57Ad0aD9oH2A/WEFnWYQSAzK4E/HHD2DV2XP1stNkZ1ks2v3F4Yu/veR+qVlUWbJW1RIIfuQgkG44K0R3C2qx4BAZUVYzju1NVCJbBOO6ipVY9cfmpokV52HZFhP/2HocTNLoav3F0AsbbJAAAAFQDaJiQdpJBEa4Wr5FfVl1kYqmQZJwAAAIEAwbern5XL+SNIMa+sJ3CBhrWyYExYWiUbdmhQEfyEAUmoPsEr1qpb+0WREic9Nrxz48QWZDK5xMvzZyQEkuAMJUBWcdm12rME7WMvg7OZGr9DADjAtfMfj3Ui2XvOuQ3ia/OTsMGkQTDWnkOM9Ni128SNSl9urFBlXATdGvo+468AAACBAK8s6LddhhkRqsF/l/L2ooS8c8A1rTFWAOy3/sgXFNvMyS/Mig2p966xRrRHr7Bc+H2SuKEE5WmLCXqymgxLHhrFU4zm/W/ej1yB1CAThd4xUfgJu4touJROjvcD1zzlmLeat0fp2k5mCuiLKcTKi0vxKWiiopF9nvBBK+7ODPC7 buildfarm@nixos' >> /var/root/.ssh/authorized_keys.tmp
42 +mv /var/root/.ssh/authorized_keys.tmp /var/root/.ssh/authorized_keys
43 +
44 +service_plist=/Library/LaunchDaemons/org.nixos.nix-daemon.plist
45 +
46 +ln -sfn /nix/var/nix/profiles/default$service_plist $service_plist
47 +launchctl unload $service_plist || true
48 +launchctl load $service_plist
49 +launchctl start $service_plist
delft/scripts/nix-mac-nuke.sh new
+19
@@ -0,0 +1,19 @@
1 +#! /usr/bin/env bash
2 +
3 +service_plist=/Library/LaunchDaemons/org.nixos.nix-daemon.plist
4 +
5 +launchctl stop $service_plist
6 +launchctl unload $service_plist
7 +
8 +dscl . -delete /Groups/nixbld
9 +
10 +for i in $(seq 1 20); do
11 + dscl . -delete /Users/nixbld$i
12 +done
13 +
14 +sudo rm -f $service_plist
15 +
16 +sudo rm -rf /nix /etc/nix/nix.conf
17 +
18 +rm -f $HOME/.nix-channels $HOME/.nix-profile
19 +rm -rf $HOME/.nix-defexpr