MacOS has UDS as well, and Windows has Named Pipes instead which is almost identical. I haven't messed with Named Pipes yet, but this should be cross-platform eventually.
I definitely like the uds/named pipes approach
We got a NIP! https://github.com/nostr-protocol/nips/pull/1222 The NIP covers UDS communication more generally. I wrote a reference implementation in Rust that uses JSON-RPC 2.0 requests/responses wrapped in NIP-04 events exactly as described in NIP-46: https://crates.io/crates/nip-55 The crate comes with a very basic NIP-46-over-NIP-55 module: https://docs.rs/nip-55/0.3.1/nip_55/nip46/index.html