nixpkgs docs: Point to pkgs.extend, pkgs.appendOverlays and improve override section
This commit is contained in:
parent
ba8b54fa4a
commit
9b7654f6ff
@ -6,8 +6,16 @@
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
Sometimes one wants to override parts of <literal>nixpkgs</literal>, e.g.
|
Sometimes one wants to override parts of <literal>nixpkgs</literal>, e.g.
|
||||||
derivation attributes, the results of derivations or even the whole package
|
derivation attributes, the results of derivations.
|
||||||
set.
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
These overriding functions let you focus on one part of Nixpkgs and give you
|
||||||
|
back the requested variation. This is orthogonal but related to overlays and
|
||||||
|
the extending functions. Those also let you make modifications but return the
|
||||||
|
whole package set instead of just what you modified. When used together, the
|
||||||
|
override functions make the changes and overlays or extending functions add
|
||||||
|
those changes to the package sets.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<section xml:id="sec-pkg-override">
|
<section xml:id="sec-pkg-override">
|
||||||
@ -25,6 +33,9 @@
|
|||||||
<para>
|
<para>
|
||||||
Example usages:
|
Example usages:
|
||||||
<programlisting>pkgs.foo.override { arg1 = val1; arg2 = val2; ... }</programlisting>
|
<programlisting>pkgs.foo.override { arg1 = val1; arg2 = val2; ... }</programlisting>
|
||||||
|
<!-- TODO: move below programlisting to a new section about extending and overlays
|
||||||
|
and reference it
|
||||||
|
-->
|
||||||
<programlisting>
|
<programlisting>
|
||||||
import pkgs.path { overlays = [ (self: super: {
|
import pkgs.path { overlays = [ (self: super: {
|
||||||
foo = super.foo.override { barSupport = true ; };
|
foo = super.foo.override { barSupport = true ; };
|
||||||
|
@ -30,10 +30,16 @@
|
|||||||
itself is given, then that is used.
|
itself is given, then that is used.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
This can be passed explicitly when importing nipxkgs, for example
|
This can be passed explicitly when importing nixpkgs, for example
|
||||||
<literal>import <nixpkgs> { overlays = [ overlay1 overlay2 ];
|
<literal>import <nixpkgs> { overlays = [ overlay1 overlay2 ];
|
||||||
}</literal>.
|
}</literal>.
|
||||||
</para>
|
</para>
|
||||||
|
<para>
|
||||||
|
Further overlays can be added by calling the
|
||||||
|
<literal>pkgs.extend</literal> or <literal>pkgs.appendOverlays</literal>,
|
||||||
|
although it is often preferable to avoid these functions, because they
|
||||||
|
recompute the Nixpkgs fixpoint, which is somewhat expensive to do.
|
||||||
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user