Something went wrong. Try again.
Monorepo for Aesthetic.Computer aesthetic.computer
Something went wrong. Try again.
Shell
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556#!/bin/bash# One-shot: add fleet SSH keys + configure Stats to match the neo/chicken/panda fleet.set -eecho "== 1/5 fleet SSH keys =="mkdir -p ~/.ssh; touch ~/.ssh/authorized_keys; chmod 700 ~/.ssh; chmod 600 ~/.ssh/authorized_keyscat > /tmp/fleet-keys.pub <<'KEYS'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM5Dbs/qJ3ut0TTkK37F260rP6wjOaTNfEbweDTjgmHv jas@aesthetic -> aesthetics-macbook-pro (via tailscale)ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJtloowUraFVv4YJ2RzX09gdpM+G4rEkz38Z4jPG/Gpq jas-neossh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIccQMDDp3cOl0AvRnpOUqtt7xiuKMNFjrJHsDinnvAP chicken-to-neossh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICJagCRWxbqzJIQrTvQ/TMYhLiMFD9+6eUwEeE66ptoZ panda-to-neossh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK8prNgeHqxy7mseAWLotHwTVIB6na+XLH2eRlxdrEgk blueberry-to-neoKEYSbefore=$(grep -c . ~/.ssh/authorized_keys || echo 0)while read -r line; do [ -z "$line" ] && continue blob=$(echo "$line" | awk '{print $2}') awk '{print $2}' ~/.ssh/authorized_keys | grep -qxF "$blob" || echo "$line" >> ~/.ssh/authorized_keysdone < /tmp/fleet-keys.pubrm -f /tmp/fleet-keys.pubecho "authorized_keys: $before -> $(grep -c . ~/.ssh/authorized_keys) keys"
echo "== 2/5 Stats config =="if [ ! -d /Applications/Stats.app ]; then echo "Stats not installed; installing via brew..."; brew install --cask stats || { echo "install Stats manually from https://github.com/exelban/stats"; exit 1; }fipkill -x Stats 2>/dev/null || true; sleep 1echo "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+CjxwbGlzdCB2ZXJzaW9uPSIxLjAiPgo8ZGljdD4KCTxrZXk+QmF0dGVyeV9zdGF0ZTwva2V5PgoJPGZhbHNlLz4KCTxrZXk+Q1BVX2JhckNoYXJ0X3Bvc2l0aW9uPC9rZXk+Cgk8aW50ZWdlcj4zPC9pbnRlZ2VyPgoJPGtleT5DUFVfbGFiZWxfcG9zaXRpb248L2tleT4KCTxpbnRlZ2VyPjE8L2ludGVnZXI+Cgk8a2V5PkNQVV9saW5lQ2hhcnRfcG9zaXRpb248L2tleT4KCTxpbnRlZ2VyPjI8L2ludGVnZXI+Cgk8a2V5PkNQVV9taW5pX3Bvc2l0aW9uPC9rZXk+Cgk8aW50ZWdlcj4wPC9pbnRlZ2VyPgoJPGtleT5DUFVfcGllQ2hhcnRfcG9zaXRpb248L2tleT4KCTxpbnRlZ2VyPjQ8L2ludGVnZXI+Cgk8a2V5PkNQVV9zdGF0ZTwva2V5PgoJPHRydWUvPgoJPGtleT5DUFVfdGFjaG9tZXRlcl9wb3NpdGlvbjwva2V5PgoJPGludGVnZXI+NTwvaW50ZWdlcj4KCTxrZXk+Q1BVX3dpZGdldDwva2V5PgoJPHN0cmluZz5taW5pPC9zdHJpbmc+Cgk8a2V5PkRpc2tfYmFyQ2hhcnRfcG9zaXRpb248L2tleT4KCTxpbnRlZ2VyPjM8L2ludGVnZXI+Cgk8a2V5PkRpc2tfbGFiZWxfcG9zaXRpb248L2tleT4KCTxpbnRlZ2VyPjI8L2ludGVnZXI+Cgk8a2V5PkRpc2tfbWVtb3J5X3Bvc2l0aW9uPC9rZXk+Cgk8aW50ZWdlcj41PC9pbnRlZ2VyPgoJPGtleT5EaXNrX21pbmlfcG9zaXRpb248L2tleT4KCTxpbnRlZ2VyPjA8L2ludGVnZXI+Cgk8a2V5PkRpc2tfbmV0d29ya0NoYXJ0X3Bvc2l0aW9uPC9rZXk+Cgk8aW50ZWdlcj42PC9pbnRlZ2VyPgoJPGtleT5EaXNrX3BpZUNoYXJ0X3Bvc2l0aW9uPC9rZXk+Cgk8aW50ZWdlcj40PC9pbnRlZ2VyPgoJPGtleT5EaXNrX3NwZWVkX3Bvc2l0aW9uPC9rZXk+Cgk8aW50ZWdlcj4xPC9pbnRlZ2VyPgoJPGtleT5EaXNrX3N0YXRlPC9rZXk+Cgk8dHJ1ZS8+Cgk8a2V5PkRpc2tfdGV4dF9wb3NpdGlvbjwva2V5PgoJPGludGVnZXI+NzwvaW50ZWdlcj4KCTxrZXk+RGlza193aWRnZXQ8L2tleT4KCTxzdHJpbmc+bWluaTwvc3RyaW5nPgoJPGtleT5HUFVfYmFyQ2hhcnRfcG9zaXRpb248L2tleT4KCTxpbnRlZ2VyPjM8L2ludGVnZXI+Cgk8a2V5PkdQVV9sYWJlbF9wb3NpdGlvbjwva2V5PgoJPGludGVnZXI+MTwvaW50ZWdlcj4KCTxrZXk+R1BVX2xpbmVDaGFydF9wb3NpdGlvbjwva2V5PgoJPGludGVnZXI+MjwvaW50ZWdlcj4KCTxrZXk+R1BVX21pbmlfcG9zaXRpb248L2tleT4KCTxpbnRlZ2VyPjA8L2ludGVnZXI+Cgk8a2V5PkdQVV9zdGF0ZTwva2V5PgoJPHRydWUvPgoJPGtleT5HUFVfdGFjaG9tZXRlcl9wb3NpdGlvbjwva2V5PgoJPGludGVnZXI+NDwvaW50ZWdlcj4KCTxrZXk+R1BVX3dpZGdldDwva2V5PgoJPHN0cmluZz5taW5pPC9zdHJpbmc+Cgk8a2V5Pk5ldHdvcmtfYmFzZTwva2V5PgoJPHN0cmluZz5ieXRlPC9zdHJpbmc+Cgk8a2V5Pk5ldHdvcmtfZG93bmxvYWRDb2xvcjwva2V5PgoJPHN0cmluZz5zeXN0ZW08L3N0cmluZz4KCTxrZXk+TmV0d29ya19sYWJlbF9wb3NpdGlvbjwva2V5PgoJPGludGVnZXI+NDwvaW50ZWdlcj4KCTxrZXk+TmV0d29ya19uZXR3b3JrQ2hhcnRfcG9zaXRpb248L2tleT4KCTxpbnRlZ2VyPjE8L2ludGVnZXI+Cgk8a2V5Pk5ldHdvcmtfcHJvY2Vzc2VzPC9rZXk+Cgk8aW50ZWdlcj44PC9pbnRlZ2VyPgoJPGtleT5OZXR3b3JrX3NwZWVkX3Bvc2l0aW9uPC9rZXk+Cgk8aW50ZWdlcj4wPC9pbnRlZ2VyPgoJPGtleT5OZXR3b3JrX3N0YXRlPC9rZXk+Cgk8dHJ1ZS8+Cgk8a2V5Pk5ldHdvcmtfc3RhdGVfcG9zaXRpb248L2tleT4KCTxpbnRlZ2VyPjI8L2ludGVnZXI+Cgk8a2V5Pk5ldHdvcmtfdGV4dF9wb3NpdGlvbjwva2V5PgoJPGludGVnZXI+MzwvaW50ZWdlcj4KCTxrZXk+TmV0d29ya191cGxvYWRDb2xvcjwva2V5PgoJPHN0cmluZz5tb25vY2hyb21lPC9zdHJpbmc+Cgk8a2V5Pk5ldHdvcmtfd2lkZ2V0PC9rZXk+Cgk8c3RyaW5nPnNwZWVkPC9zdHJpbmc+Cgk8a2V5PlJBTV9iYXJDaGFydF9wb3NpdGlvbjwva2V5PgoJPGludGVnZXI+NDwvaW50ZWdlcj4KCTxrZXk+UkFNX2xhYmVsX3Bvc2l0aW9uPC9rZXk+Cgk8aW50ZWdlcj4yPC9pbnRlZ2VyPgoJPGtleT5SQU1fbGluZUNoYXJ0X3Bvc2l0aW9uPC9rZXk+Cgk8aW50ZWdlcj4zPC9pbnRlZ2VyPgoJPGtleT5SQU1fbWVtb3J5X3Bvc2l0aW9uPC9rZXk+Cgk8aW50ZWdlcj4xPC9pbnRlZ2VyPgoJPGtleT5SQU1fbWluaV9wb3NpdGlvbjwva2V5PgoJPGludGVnZXI+MDwvaW50ZWdlcj4KCTxrZXk+UkFNX3BpZUNoYXJ0X3Bvc2l0aW9uPC9rZXk+Cgk8aW50ZWdlcj41PC9pbnRlZ2VyPgoJPGtleT5SQU1fc3RhdGU8L2tleT4KCTx0cnVlLz4KCTxrZXk+UkFNX3N0YXRlX3Bvc2l0aW9uPC9rZXk+Cgk8aW50ZWdlcj44PC9pbnRlZ2VyPgoJPGtleT5SQU1fdGFjaG9tZXRlcl9wb3NpdGlvbjwva2V5PgoJPGludGVnZXI+NjwvaW50ZWdlcj4KCTxrZXk+UkFNX3RleHRfcG9zaXRpb248L2tleT4KCTxpbnRlZ2VyPjc8L2ludGVnZXI+Cgk8a2V5PlJBTV93aWRnZXQ8L2tleT4KCTxzdHJpbmc+bWluaTwvc3RyaW5nPgoJPGtleT5TZW5zb3JzX2JhckNoYXJ0X3Bvc2l0aW9uPC9rZXk+Cgk8aW50ZWdlcj4yPC9pbnRlZ2VyPgoJPGtleT5TZW5zb3JzX2xhYmVsX3Bvc2l0aW9uPC9rZXk+Cgk8aW50ZWdlcj4zPC9pbnRlZ2VyPgoJPGtleT5TZW5zb3JzX21pbmlfcG9zaXRpb248L2tleT4KCTxpbnRlZ2VyPjA8L2ludGVnZXI+Cgk8a2V5PlNlbnNvcnNfc3RhY2tfcG9zaXRpb248L2tleT4KCTxpbnRlZ2VyPjE8L2ludGVnZXI+Cgk8a2V5PlNlbnNvcnNfc3RhdGU8L2tleT4KCTxmYWxzZS8+Cgk8a2V5PlNlbnNvcnNfd2lkZ2V0PC9rZXk+Cgk8c3RyaW5nPm1pbmk8L3N0cmluZz4KPC9kaWN0Pgo8L3BsaXN0Pgo=" | base64 -d > /tmp/stats-shared.plistpython3 - <<'PY'import plistlib, subprocessp = plistlib.load(open("/tmp/stats-shared.plist","rb"))for k,v in p.items(): if isinstance(v,bool): t,vv="-bool",("true" if v else "false") elif isinstance(v,int): t,vv="-int",str(v) else: t,vv="-string",str(v) subprocess.run(["defaults","write","eu.exelban.Stats",k,t,vv],check=True)print("imported",len(p),"Stats keys")PY
echo "== 3/5 login item =="osascript -e 'tell application "System Events" to delete (every login item whose name is "Stats")' >/dev/null 2>&1 || trueosascript -e 'tell application "System Events" to make login item at end with properties {path:"/Applications/Stats.app", hidden:true}' >/dev/null 2>&1 || trueecho "login items: $(osascript -e 'tell application "System Events" to get the name of every login item')"
echo "== 4/5 launch =="open -a Stats; sleep 2pgrep -x Stats >/dev/null && echo "Stats RUNNING ✅" || echo "Stats did not launch"
echo "== 5/5 cursor color (blue) =="# blueberry's signature: a blue pointer. Shows on next login / lock-unlock (⌃⌘Q),# since SIP blocks hot-reloading universalaccessd from the CLI.defaults write com.apple.universalaccess cursorFill -dict alpha 1 red 0 green 0 blue 1defaults write com.apple.universalaccess cursorOutline -dict alpha 1 red 1 green 1 blue 1echo "cursorFill set to blue (applies on next login / lock-unlock)"
echo "DONE — blueberry has joined the SSH mesh, Stats matches the fleet, cursor is blue."