go-usb-audio-mapper
The Go rewrite of usb-audio-mapper
Highlights
- Static Go binary with no shell dependencies
- Same udev-rule output format as the shell version
- Drop-in replacement for environments that prefer compiled tools over shell
What it does
The Go port of usb-audio-mapper.
Same job: inspect attached USB audio devices and generate the
udev rules that pin each one to a stable, human-readable
name. Same output format, byte for byte, so switching between
the shell and Go versions doesn’t rename anyone’s existing
devices.
Why this version exists
Some deployment environments actively prefer, or require, a
compiled binary over a shell script. Air-gapped industrial
deployments, locked-down Linux distributions, container
images where you’d rather not ship a full shell, or teams
that want a single artifact to check into configuration
management and forget about. go-usb-audio-mapper is the
same tool, packaged for those environments.
The shell version remains the canonical implementation and the easiest one to audit quickly. The Go version is what you reach for when the distribution model matters more than auditability.