[Unit]
Description=hammer build farm worker (loop autónomo)
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
WorkingDirectory=/opt/hammer
Environment=HOME=/root
Environment=HAMMER_DIR=/opt/hammer
# JOBS no se fija: el loop usa nproc por defecto (cada build usa 1 core por codegen-units=1).
# Así, al REPOTENCIAR la caja (CCX13→CCX23/33), el worker auto-escala los slots sin tocar config.
# La línea CCX da ~4GB RAM/core ⇒ nproc slots quedan con margen para builds Rust + swap.
ExecStart=/opt/hammer/scripts/farm/farm-worker-loop.sh
Restart=always
RestartSec=30
# deja respirar al sistema en una caja chica
Nice=10
IOSchedulingClass=idle

[Install]
WantedBy=multi-user.target
