Skip to content

Commit 7a0e38a

Browse files
authored
Merge pull request #12998 from fricklerhandwerk/packages
glossary: refine the definition of "package"
2 parents 3f3cc6f + a0d3003 commit 7a0e38a

File tree

2 files changed

+9
-9
lines changed

2 files changed

+9
-9
lines changed

doc/manual/redirects.js

+1
Original file line numberDiff line numberDiff line change
@@ -374,6 +374,7 @@ const redirects = {
374374
},
375375
"glossary.html": {
376376
"gloss-local-store": "store/types/local-store.html",
377+
"package-attribute-set": "#package",
377378
"gloss-chroot-store": "store/types/local-store.html",
378379
"gloss-content-addressed-derivation": "#gloss-content-addressing-derivation",
379380
},

doc/manual/source/glossary.md

+8-9
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@
215215

216216
> **Example**
217217
>
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.
219219
220220
- [reference]{#gloss-reference}
221221

@@ -330,18 +330,17 @@
330330

331331
- [package]{#package}
332332

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.
334334

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.
336336

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.
338340

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.
343342

344-
[package attribute set]: #package-attribute-set
343+
[package]: #package
345344

346345
- [string interpolation]{#gloss-string-interpolation}
347346

0 commit comments

Comments
 (0)