[Nexus 5 Q&A, Help & Troubleshooting] HSF3232:
There is a problem where /persist gets easily corrupted. Especially when you have to force reboot. A LOT. This might be your problem.

To find out if this is the case, please do the following:

1. Because you are using a Nexus 5, please download the Skipsoft Unified Android Toolkit (SUAT) and install it. Google it if you need to. Its windows only from what i can tell. Go through the screens until you configured the toolkit. You don't need pro for this setup. If you are running on linux or mac, please find a equivalent set of tools which can do the next 4 steps.

1.5. Unlock the boot-loader. Don't bother about backup, if persist is dead and you have not unlocked the boot-loader before, you WONT get your data back. (Better hope you made a partial-backup beforehand.) (Good thing is, if you did unlock the boot-loader before this problem occurred, RECOVERY OF DATA IS STILL POSSIBLE!)

2. Boot into TWRP recovery. When you get the modifications warning screen, TURN ON modifications. YOU NEED THIS FOR LATER ON.

2.5. If you already have the boot loader unlocked before the problem occurred, NOW is the time to do a backup! If /persist is dead, you will need to erase and re-flash to get android back!

3. On the bottom of the screen should be a button with 4 lines (the middle 2 should be shorter than the outer 2 if you are that blind). That is the log. Keep in mind where that button is. Go into mount and press persist to attempt to mount it.

If persist mounts successfully:

/persist is alive and kicking. Android should be starting successfully. If this is not the case, look for other reasons on why this could be failing. If other options have been exhausted, then you have a dead memory chip. Get it replaced! (And go for a upgrade while you are at it, 16 GB is not a lot. :p )

If persist does not mount:

Uh oh, looks like trouble. Now this is the time to check your logs. Remember the button i told you to remember? Press that button. Look for a red line that says "Unable to mount /persist (Invalid argument)"

"Unable to mount /persist (Invalid argument)" was not present.

Twrp might not be showing it or there is no way of recovering it. You have a 50% chance of recovery. Do you want to risk it? If so, carry on to step 4.

"Unable to mount /persist" was present but the text in the brackets was different.

Lookup the error code. If it is not any I/O input output errors then you should be fine to continue. If it is, Recovery is not possible.

"Unable to mount /persist (Invalid argument)" was present.

Oh dear. Looks like we have dead partition. However, because we got what we were expecting, recovery is possible. Follow the next steps. They can be done from a ADB shell on the PC or on the device.

4. Load up a ADB shell and run the following command:

e2fsck /dev/block/platform/msm_sdcc.1/by-name/persist

This basically runs a file system check. IT should find problems with the partition and rebuild the file system. Now here comes the next bit. (And this is where you hope you read everything and backed up beforehand.)

5. Go to the main menu and press mount. Try mounting everything. Now back out and press wipe. Press advanced wipe. Select everything that you can. Then "swipe to format" everything. Once that is done, go back into the main menu and press reboot. Press bootloader. You will get a warning about no OS, just swipe to reboot. (Why do you think we are rebooting back to boot-loader?)

If everything went well, you should now be able to re-flash with your choice of ROM. You may have to re-flash normal android first though. Look up guides on how do that.