[Android One (First-Generation) Cross-Device Themes] aureljared:
One reason why I chose to buy this device (aside from official Google support) is the overwhelmingly large amount of developer enthusiasm for it. And with that enthusiasm comes a lot of custom ROMs.

I haven't had time to test all of them, but I will - and here's a guide I made that'll hopefully make testing different ROMs easier.

Prerequisites

Before continuing with this guide, make sure that you have:

a LOT of free time, depending on how many ROMs you want to test;

unlocked and rooted your device;

downloaded all the ROMs you want to test;

have installed a good recovery - I would recommend the latest version of TWRP;

common sense. ;)

(OPTIONAL) a spare microSD card of at least 8GB. This'll make everything easier, as you won't have to delete stuff in order to fit all your ZIPs and backups.

Things to remember

Make sure you know how exactly to restore your device to how it was before following this guide.

You should know what you're doing. One small mistake can lead to your device being completely unusable!

You should know what features you're looking for in a ROM. It's never nice to have gone all the way to flash a different ROM, only to discover that feature X doesn't work. Ask questions in the ROM thread, if you like.

You can always ask help from others, should you have any trouble with your device.

When using custom ROMs (or any customization, for that matter), do NOT ask for ETAs. Our developers are doing their work at their own leisure and during their own time, and they don't get their pay from you.

Ready? Let's get going!

Getting started

A good Android user always backs up before doing anything radical to their phone, and that's precisely what we're going to do. There are three ways to go about this:

The easy way

The easy way is through making a Nandroid backup. This is particularly easy to do in TWRP, as all you need to do is reboot into recovery, press Backup, select the partitions you want to back up and whether to compress them, and start backing up. Simple as that.

Pros: Easy to restore your data once you're finished testing ROMs.

Cons: It's somewhat hard to restore individual pieces of data (such as messages and apps) instead of the whole thing.

The (slightly) more complicated way

This way deals with TitaniumBackup, an absolute must-have app for every Android user out there.

With TitaniumBackup, you can choose to back up individual apps (and even update their individual backups). TB isn't limited to backing up/restoring data, though; it can do so much more - remove bloatware, freeze apps you don't use, make a flashable ZIP out of your backups... the list goes on.

Pros: Finer control over what data gets backed up. Very powerful tool in migrating ROMs.

Cons: Somewhat outdated and intimidating interface; and features are reduced without buying the PRO version.

The Google way

This one is the simplest way of all three, though it only works if you have a) GApps and have signed in to your Google account, b) if you've agreed to let Google back your data up when you first set up your device, and c) if you have Settings > Backup & reset > Back up my data enabled.

Google automatically backs up almost all of your data to its servers, ready to be restored when you do a factory reset/switch to a new phone. A list of all data that are backed up can be seen by going to Settings > Accounts > Google > (your email address).

Notable exceptions to the data backed up are messages, which you have to back up yourself - I recommend SMS Backup & Restore for that.

Now that you have your data backed up, let's get flashing.

Flashing

Put your ROMs/kernels/GApps on your SD card, then reboot to recovery.

1. Wiping / factory resetting

This is why we back up your data in the first place. Different ROMs need different data, and data left over from one ROM can cause another ROM to get stuck in a bootloop.

In CWM, it's called wipe data/factory reset; in TWRP, it's simply called Wipe.

Wipe your data, dalvik-cache, and cache partitions.

2. Flashing the ROM and other addons

In CWM, it's called install zip (from sdcard); in TWRP, it's simply called Install.

Browse to your ROM zip and install.

3. Finishing up

Now all that's left to do is pray for the best and reboot.

Testing

After initial setup completes and your newly-installed ROM settles down, it's time to get testing. It would be helpful if you listed down all the features you need and check/cross them out one by one if they work or not. For example, I need working screen cast and usable video recording, both of which do not work in all the CM-based ROMs I've tested.

Some ROMs, especially sprout4 ROMs, require patches when installing on sprout8 devices in order to provide the most optimal experience. Try flashing those to see if the ROM gets any better for you.

Rinse & repeat?

So, have you decided that this ROM is for you?

Yes, this ROM is awesome! I love it!

If you backed up earlier using Google, do another factory reset and this time, let Google restore your data.

If you used Titanium for backup, you can safely restore your data now.

If you made a Nandroid backup, you technically can restore your backup as-is since most of the ROMs available for sprout are CM-based; but I wouldn't recommend this as this can cause bootloops. Otherwise, you can manually restore your data one-by-one - but this is a time-consuming process.

I'm not quite sure I like this ROM yet.

Well that's okay, just repeat this guide from the start.

Finishing up

Now that you've decided on what ROM to use, you can safely delete your backups and ZIPs - though it would be better to keep them as they might come in handy if your device starts having problems.

Notes

If you're flashing a Marshmallow ROM, don't flash Xposed right after you flash your ROM as this may cause a bootloop.

Never ask for ETAs on ROM threads. That's rude.

That's it for this guide! Happy flashing! :fingers-crossed:​