diff --git a/doc/manual.xml b/doc/manual.xml
index 01373b4f5b1..1b713b0c30c 100644
--- a/doc/manual.xml
+++ b/doc/manual.xml
@@ -12,6 +12,7 @@
+
diff --git a/doc/packageconfig.xml b/doc/packageconfig.xml
new file mode 100644
index 00000000000..aaeaff69f4a
--- /dev/null
+++ b/doc/packageconfig.xml
@@ -0,0 +1,63 @@
+
+
+nixpkgs configuration
+
+
+ The Nix package manager can be configured to allow or deny certain
+ package sets. At this moment, packages can either be allowed to be
+ installed or denied to be installed based on their license.
+
+
+
+
+
+ Allow packages that do not have a free license by setting
+
+ nixpkgs.config.allowUnfree = true;
+
+ or deny them by setting it to false.
+
+
+ This can also be achieved for one call to the Nix package
+ manager by setting the environment variable:
+
+ export NIXPKGS_ALLOW_UNFREE=1
+
+
+
+
+
+
+ Whenever unfree packages are not allowed, single packages can
+ still be allowed by a predicate:
+
+ nixpkgs.config.allowUnfreePredicate = (x: ...);
+
+
+
+
+
+
+ Whenever unfree packages are not allowed, packages can still be
+ whitelisted by their license:
+
+ nixpkgs.config.whitelistedLicenses = [ licenseA licenseB ];
+
+
+
+
+
+
+ In addition to whitelisting licenses which are denied by the
+ allowUnfree setting, you can also explicitely
+ deny installation of packages which have a certain license:
+
+ nixpkgs.config.blacklistedLicenses = [ licenseA licenseB ];
+
+
+
+
+
+