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 ]; + + + + + +