|
215 | 215 |
|
216 | 216 | > **Example**
|
217 | 217 | >
|
218 |
| - > Building and deploying software using Nix entails writing Nix expressions as a high-level description of packages and compositions thereof. |
| 218 | + > Building and deploying software using Nix entails writing Nix expressions to describe [packages][package] and compositions thereof. |
219 | 219 |
|
220 | 220 | - [reference]{#gloss-reference}
|
221 | 221 |
|
|
330 | 330 |
|
331 | 331 | - [package]{#package}
|
332 | 332 |
|
333 |
| - 1. A software package; a collection of files and other data. |
| 333 | + A software package; files that belong together for a particular purpose, and metadata. |
334 | 334 |
|
335 |
| - 2. A [package attribute set]. |
| 335 | + Nix represents files as [file system objects][file system object], and how they belong together is encoded as [references][reference] between [store objects][store object] that contain these file system objects. |
336 | 336 |
|
337 |
| -- [package attribute set]{#package-attribute-set} |
| 337 | + The [Nix language] allows denoting packages in terms of [attribute sets](@docroot@/language/types.md#attribute-set) containing: |
| 338 | + - attributes that refer to the files of a package, typically in the form of [derivation outputs](#output), |
| 339 | + - attributes with metadata, such as information about how the package is supposed to be used. |
338 | 340 |
|
339 |
| - An [attribute set](@docroot@/language/types.md#attribute-set) containing the attribute `type = "derivation";` (derivation for historical reasons), as well as other attributes, such as |
340 |
| - - attributes that refer to the files of a [package], typically in the form of [derivation outputs](#output), |
341 |
| - - attributes that declare something about how the package is supposed to be installed or used, |
342 |
| - - other metadata or arbitrary attributes. |
| 341 | + The exact shape of these attribute sets is up to convention. |
343 | 342 |
|
344 |
| - [package attribute set]: #package-attribute-set |
| 343 | + [package]: #package |
345 | 344 |
|
346 | 345 | - [string interpolation]{#gloss-string-interpolation}
|
347 | 346 |
|
|
0 commit comments