To make a same USB key bootable on multiple architectures, e.g. i686, x86_64, arm4v, etc., please include the architecture and/or a complete name in the pathname of the nix-store file.
Alternatively, please make it easy and documented to specify an alternate name on the kernel boot command-line.
A single nix store (and thus, a single squashfs) can contain packages for multiple architectures.
Yes, but that's now how they are usually built or distributed.
Typically, I download two .iso images with the thing already built, and have grub select the correct image.
Currently, I have to have two partitions on my USB drive, one for each nix-store.squashfs.
Sure, but the solution is to build/distribute a multiarch cd :)
Yes, but unless you have great cross-compiling support, building a multiarch cd happens by fusing together single-arch cds. There's no good reason to put everything in a same /nix/store soup, and many reasons to keep things separate (so users can easily split the cd back, or extract a single arch from it). Mixing in a common soup only increases entropy for no obvious good use.