diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2015-12-07 20:35:25 +0100 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2015-12-10 16:06:12 +0100 |
commit | e115e3fd761ac9b087f7d609a870f08165b8edc5 (patch) | |
tree | d0ca6bd74616b018832ef91ad0684637fc0fdce6 /doc/configuration.xml | |
parent | 05c12a337db7f50e28ba4f1e8428176648290b12 (diff) | |
download | nixpkgs-e115e3fd761ac9b087f7d609a870f08165b8edc5.tar nixpkgs-e115e3fd761ac9b087f7d609a870f08165b8edc5.tar.gz nixpkgs-e115e3fd761ac9b087f7d609a870f08165b8edc5.tar.bz2 nixpkgs-e115e3fd761ac9b087f7d609a870f08165b8edc5.tar.lz nixpkgs-e115e3fd761ac9b087f7d609a870f08165b8edc5.tar.xz nixpkgs-e115e3fd761ac9b087f7d609a870f08165b8edc5.tar.zst nixpkgs-e115e3fd761ac9b087f7d609a870f08165b8edc5.zip |
Manual: Rename file
Diffstat (limited to 'doc/configuration.xml')
-rw-r--r-- | doc/configuration.xml | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/doc/configuration.xml b/doc/configuration.xml new file mode 100644 index 00000000000..4e0fcc3b6a4 --- /dev/null +++ b/doc/configuration.xml @@ -0,0 +1,88 @@ +<chapter xmlns="http://docbook.org/ns/docbook" + xmlns:xlink="http://www.w3.org/1999/xlink" + xml:id="chap-packageconfig"> + +<title><filename>~/.nixpkgs/config.nix</filename>: global configuration</title> + + <para> + Nix packages can be configured to allow or deny certain options. + </para> + + <para> + To apply the configuration edit <filename>~/.nixpkgs/config.nix</filename> + and set it like +<programlisting>{ + allowUnfree = true; +}</programlisting> + and will allow the Nix package manager to install unfree licensed packages. + + The configuration as listed also applies to NixOS under <option>nixpkgs.config</option> set. + </para> + + <itemizedlist> + <listitem> + <para> + Allow installing of packages that are distributed under unfree license by setting + <programlisting>allowUnfree = true;</programlisting> + or deny them by setting it to <literal>false</literal>. + </para> + <para> + Same can be achieved by setting the environment variable: + <programlisting>$ export NIXPKGS_ALLOW_UNFREE=1</programlisting> + </para> + </listitem> + + <listitem> + <para> + Whenever unfree packages are not allowed, single packages can + still be allowed by a predicate function that accepts package + as an argument and should return a boolean: + <programlisting>allowUnfreePredicate = (pkg: ...);</programlisting> + + Example to allow flash player only: + <programlisting>allowUnfreePredicate = (pkg: pkgs.lib.hasPrefix "flashplayer-" pkg.name);</programlisting> + </para> + </listitem> + + <listitem> + <para> + Whenever unfree packages are not allowed, packages can still be + whitelisted by their license: + <programlisting>whitelistedLicenses = with stdenv.lib.licenses; [ amd wtfpl ];</programlisting> + </para> + </listitem> + + <listitem> + <para> + In addition to whitelisting licenses which are denied by the + <literal>allowUnfree</literal> setting, you can also explicitely + deny installation of packages which have a certain license: + <programlisting>blacklistedLicenses = with stdenv.lib.licenses; [ agpl3 gpl3 ];</programlisting> + </para> + </listitem> + </itemizedlist> + + <para> + A complete list of licenses can be found in the file + <filename>lib/licenses.nix</filename> of the nix package tree. + </para> + +<section xml:id="sec-modify-via-packageOverrides"><title>Modify +packages via <literal>packageOverrides</literal></title> + +<para> + + You can define a function called <varname>packageOverrides</varname> + in your local <filename>~/.nixpkgs/config</filename> to overide nix + packages. It must be a function that takes pkgs as an argument and + return modified set of packages. + + <programlisting>{ + packageOverrides = pkgs: rec { + foo = pkgs.foo.override { ... }; + }; +}</programlisting> +</para> +</section> + +</chapter> |