Having N different copies of the NixOS kernel configuration is bad
because these copies tend to diverge. For instance, our 3.10 config
lacked some modules that were enabled in older configs, probably
because the 3.10 config had been copied off an earlier version of some
older kernel config.
So now there is a single kernel config in common-config.nix. It has a
few conditionals to deal with new/removed kernel options, but
otherwise it's pretty straightforward.
Also, a lot of cut&paste boilerplate between the kernel Nix
expressions is gone (such as preConfigure).
Starting with 3.10, #! script handling can be built modularly (or not
at all). By default the nixpkgs builder sets everything modular, but
since our initird init is a #! script this creates a chicken-and-egg
problem on NixOS.
Signed-off-by: Shea Levy <shea@shealevy.com>