You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A [derivation] where a cryptographic hash of the [output] is determined in advance using the [`outputHash`](./language/advanced-attributes.md#adv-attr-outputHash) attribute, and where the [`builder`](@docroot@/language/derivations.md#attr-builder) executable has access to the network.
These attributes declare that the derivation is a so-called
124
-
*fixed-output derivation*, which means that a cryptographic hash of
125
-
the output is already known in advance. When the build of a
126
-
fixed-output derivation finishes, Nix computes the cryptographic
127
-
hash of the output and compares it to the hash declared with these
128
-
attributes. If there is a mismatch, the build fails.
123
+
These attributes declare that the derivation is a so-called *fixed-output derivation* (FOD), which means that a cryptographic hash of the output is already known in advance.
124
+
125
+
As opposed to regular derivations, the [`builder`] executable of a fixed-output derivation has access to the network.
126
+
Nix computes a cryptographic hash of its output and compares that to the hash declared with these attributes.
127
+
If there is a mismatch, the derivation fails.
129
128
130
129
The rationale for fixed-output derivations is derivations such as
131
130
those produced by the `fetchurl` function. This function downloads a
@@ -279,7 +278,9 @@ Derivations can declare some infrequently used optional attributes.
279
278
280
279
> **Note**
281
280
>
282
-
> If set to `false`, the [`builder`](./derivations.md#attr-builder) should be able to run on the system type specified in the [`system` attribute](./derivations.md#attr-system), since the derivation cannot be substituted.
281
+
> If set to `false`, the [`builder`] should be able to run on the system type specified in the [`system` attribute](./derivations.md#attr-system), since the derivation cannot be substituted.
0 commit comments