#!/bin/sh
# Ficha Nopubly macOS. Imprime JSON. El técnico lo pega o lo envía en la sesión.
set -f
host=$(scutil --get ComputerName 2>/dev/null || hostname)
model=$(sysctl -n machdep.cpu.brand_string 2>/dev/null)
cores=$(sysctl -n hw.ncpu 2>/dev/null)
mem=$(sysctl -n hw.memsize 2>/dev/null)
os=$(sw_vers -productVersion 2>/dev/null)
gpu=$(system_profiler SPDisplaysDataType 2>/dev/null | awk -F': ' '/Chipset Model/{print $2; exit}')
disk_total=$(df -k / | awk 'NR==2{print $2*1024}')
disk_free=$(df -k / | awk 'NR==2{print $4*1024}')
cat <<EOF
{"source":"macos-sh","hostname":"$host","os":"macOS $os","cpu":{"model":"$model","cores":$cores},"ram":{"total_bytes":$mem},"gpu":{"model":"$gpu"},"disks":[{"name":"/","total_bytes":$disk_total,"free_bytes":$disk_free,"smart":{"available":false}}],"notes":["macOS: SMART y ocupantes se ven en Utilidad de Discos. RAM no se certifica."]}
EOF
