I have not used the HackRF, have tried the LimeSDR, so no basis for head-to-head comparison here. But you might consider a third option: one of the USRP devices from Ettus.
I've really enjoyed working with the USRP family from Ettus Research (NI). I have an N200 with a UBX module, and a B210.
The N200/UBX combination is a substantial investment, (tunes from 10MHz to 6GHz, 100 MS/s, 14 bit ADC, 1Gbit ethernet to the host; about $2800 US) but Ettus sells the B200mini in a case for $765. The specs are 70MHz to 6GHz, ~60MS/s max sample rate, 12 bit ADC, USB3 connection to the host.
The Ettus radios are all well supported by GNU Radio. Ettus also supports a "low level" library (libuhd) for folks who want more direct control. The library is well maintained and provided with many examples. The quality of the software is quite good, and the user community is well supported. (There's a user forum at
http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/.) Support on Linux is great. The library is supported on Linux, Windows and MacOS X. Ettus provides binaries and a source repo. The library code is released under the GNU General Public License.
The GNURadio support is very good. Ettus (the company and the guy) are major contributors to the GNU Radio effort.
All TX/RX configurations of USRPs are full duplex, which is handy for a thousand and one things around the house. There is a range of Ettus configurations in their catalog ranging in cost from $765 to over $8500. But all of them use the same support library and are compatible with GNU Radio.
I've written
a lot of code for the USRP. I'm the author/maintainer of SoDaRadio, (
https://kb1vc.github.io/SoDaRadio/) an all mode ham transceiver for the USRP platform. It uses the libuhd library from Ettus.