- scripts/release.sh baut die sechs Targets (linux/darwin/windows ×
amd64/arm64) statisch mit CGO_ENABLED=0, -trimpath, Version und Commit
per ldflags, und schreibt checksums.txt. Asset-Vertrag für das Fleet-
Rollout: talk_<os>_<arch>[.exe]. Bewusst ohne GoReleaser — dasselbe
Artefakt lokal, in CI und unter nix, ohne zusätzliches Werkzeug.
- .gitea/workflows/release.yml: bei Tag v* Tests, Build, Gitea-Release mit
Assets (actions/gitea-release-action, Repo-Token).
- flake.nix: Paket (buildGoModule, ein Binary), App, Overlay, devShell,
Formatter. Linux-Wrapper legt alsa-lib in den LD_LIBRARY_PATH (oto lädt
ALSA per dlopen, spricht PulseAudio/PipeWire aber direkt in Go) und
espeak-ng/libnotify in den PATH. Verifiziert: nix build .#talk, nix flake
check, Snapshot-Build aller sechs Targets.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>