I am sure you can install a mainline kernel on the Nexus 5. Maybe that is challenging maybe not but is possible. But if we don't use android base, Sailfish cannot communicate with the hardware. However writing drivers are possible too, but you need to write every single one of them and there are no documentation because those are proprietary. The guys at Replicant are rewriting android drivers but they do support only a handful of devices and not all drivers they were able to reverse engineer. Plus, I use that Replicant 6 (Android 6 equivalent) on my Galaxy S2-i9100 but there are lots of 'the app stopped' error and some apps doesn't start or immediately ends. In my personal opinion the OS is usable, but Sailfish is better. (I hope soon can start working on this port too .)