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).
It doesn't make sense to build tools/applications with three different
python interpreter versions, so move them out of python modules list.
Also reverts 53ffc6e0ef.
We cannot import the packages from all of these three packages sets into
the global namespace, because they are indistinguishable. For example:
$ nix-env -qaP \* | grep pylint
pypyPackages.pylint pylint-0.26.0
python33Packages.pylint pylint-0.26.0
python27Packages.pylint pylint-0.26.0
When someone tries to install pylint by running "nix-env -i pylint",
then it's impossible to tell which one of these three versions was
chosen.
I can think of two ways to remedy this problem with recurseIntoAttrs:
1) Bake the name of the Python interpreter into every package's name,
i.e. offer "python27-pylint", "python33-pylint", and so on.
2) Ensure that all non-default package sets mark all their packages
'lowPrio' to unsure that the choice during installation is
deterministic.
We already have mini_httpd, but IMHO it is *too* minimal as in not very
flexible in configuration (for example, I haven't found any runtime
configuration for disabling logging), so that's why I decided to add
thttpd, which serves quite well as an ad-hoc HTTPd.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
This is a simple tool to scan Nixpkgs for violations of the packaging
guidelines, such as multiple packages with the same name, packages
that lack a description or license, and so on.
To use:
$ nix-env -i nixpkgs-lint
$ cd .../nixpkgs
$ nixpkgs-lint
Current statistics:
Number of packages: 8666
Number of missing maintainers: 3711
Number of missing licenses: 6159
Number of missing descriptions: 1337
Number of bad descriptions: 633
Number of name collisions: 277