nixpkgs-suyu/nixos
aszlig 751bdacc9b
nixos/nsd: Don't override bind via nixpkgs.config
When generating values for the services.nsd.zones attribute using values
from pkgs, we'll run into an infinite recursion because the nsd module
has a condition on the top-level definition of nixpkgs.config.

While it would work to push the definition a few levels down, it will
still only work if we don't use bind tools for generating zones.

As far as I could see, Python support for BIND seems to be only needed
for the dnssec-* tools, so instead of using nixpkgs.config, we now
directly override pkgs.bind instead of globally in nixpkgs.

To illustrate the problem with a small test case, instantiating the
following Nix expression from the nixpkgs source root will cause the
mentioned infinite recursion:

  (import ./nixos {
    configuration = { lib, pkgs, ... }: {
      services.nsd.enable = true;
      services.nsd.zones = import (pkgs.writeText "foo.nix" ''
        { "foo.".data = "xyz";
          "foo.".dnssec = true;
        }
      '');
    };
  }).vm

With this change, generating zones via import-from-derivation is now
possible again.

Signed-off-by: aszlig <aszlig@nix.build>
Cc: @pngwjpgh
2019-01-04 01:49:50 +01:00
..
doc nixos/cpufreq: Remove the alias to set the cpu frequency governor 2019-01-03 20:57:49 +09:00
lib Merge pull request #52760 from akru/master 2019-01-03 15:07:27 -06:00
maintainers google-compute-image: make it a module and the size tuneable (#49854) 2018-11-26 14:51:00 +00:00
modules nixos/nsd: Don't override bind via nixpkgs.config 2019-01-04 01:49:50 +01:00
tests nixos/prometheus-bind-exporter: add module 2019-01-03 21:14:21 +01:00
COPYING
default.nix
README
release-combined.nix nixos/release-combined.nix: makes aarch64-linux limited support 2018-12-21 20:43:23 -05:00
release-small.nix
release.nix nixos/sd-image-aarch64-new-kernel: Added to release 2018-12-26 11:03:32 +00:00

*** NixOS ***

NixOS is a Linux distribution based on the purely functional package
management system Nix.  More information can be found at
http://nixos.org/nixos and in the manual in doc/manual.