Harmonia is a binary cache that serves /nix/store over HTTP to other machines.
Harmonia now includes built-in zstd compression for content. If you previously had the nginx zstd module configured, you can safely remove it. Nix will automatically utilize compression when it is available.
This release eliminates libnix dependencies from Harmonia, meaning there is no longer any “unsafe” code in its source tree, except for a single call to libsodium for signing. Instead, Harmonia now uses the nix-daemon protocol whenever it needs to interact with Nix.
I think they can be combined, but I never tried that. Only caveat might be that at least when I checked ncps supports less features i.e no logs or nar listing, so you might loose that.
In my experience, they complement each other very nicely. In fact, the NixOS tests for NCPS use Harmonia to test substitution. (I learned this while working on tests for substitution over 802.11s mesh).