<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> </chapter>