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
[Nixpkgs](https://github.com/nixos/nixpkgs) is a collection of over
17
-
120,000 software packages that can be installed with the
18
-
[Nix](https://nixos.org/nix/) package manager. It also implements
19
-
[NixOS](https://nixos.org/nixos/), a purely-functional Linux distribution.
16
+
[Nixpkgs](https://github.com/nixos/nixpkgs) is a collection of over 120,000 software packages that can be installed with the [Nix](https://nixos.org/nix/) package manager.
17
+
It also implements [NixOS](https://nixos.org/nixos/), a purely-functional Linux distribution.
20
18
21
19
# Manuals
22
20
@@ -34,9 +32,8 @@
34
32
35
33
# Other Project Repositories
36
34
37
-
The sources of all official Nix-related projects are in the [NixOS
38
-
organization on GitHub](https://github.com/NixOS/). Here are some of
39
-
the main ones:
35
+
The sources of all official Nix-related projects are in the [NixOS organization on GitHub](https://github.com/NixOS/).
36
+
Here are some of the main ones:
40
37
41
38
*[Nix](https://github.com/NixOS/nix) - the purely functional package manager
42
39
*[NixOps](https://github.com/NixOS/nixops) - the tool to remotely deploy NixOS machines
@@ -48,54 +45,41 @@ the main ones:
48
45
49
46
# Continuous Integration and Distribution
50
47
51
-
Nixpkgs and NixOS are built and tested by our continuous integration
52
-
system, [Hydra](https://hydra.nixos.org/).
48
+
Nixpkgs and NixOS are built and tested by our continuous integration system, [Hydra](https://hydra.nixos.org/).
53
49
54
50
*[Continuous package builds for unstable/master](https://hydra.nixos.org/jobset/nixos/trunk-combined)
55
51
*[Continuous package builds for the NixOS 25.05 release](https://hydra.nixos.org/jobset/nixos/release-25.05)
56
52
*[Tests for unstable/master](https://hydra.nixos.org/job/nixos/trunk-combined/tested#tabs-constituents)
57
53
*[Tests for the NixOS 25.05 release](https://hydra.nixos.org/job/nixos/release-25.05/tested#tabs-constituents)
58
54
59
-
Artifacts successfully built with Hydra are published to cache at
60
-
https://cache.nixos.org/. When successful build and test criteria are
61
-
met, the Nixpkgs expressions are distributed via [Nix
Artifacts successfully built with Hydra are published to cache at https://cache.nixos.org/.
56
+
When successful build and test criteria are met, the Nixpkgs expressions are distributed via [Nix channels](https://nix.dev/manual/nix/stable/command-ref/nix-channel.html).
63
57
64
58
# Contributing
65
59
66
-
Nixpkgs is among the most active projects on GitHub. While thousands
67
-
of open issues and pull requests might seem a lot at first, it helps
68
-
consider it in the context of the scope of the project. Nixpkgs
69
-
describes how to build tens of thousands of pieces of software and implements a
70
-
Linux distribution. The [GitHub Insights](https://github.com/NixOS/nixpkgs/pulse)
71
-
page gives a sense of the project activity.
60
+
Nixpkgs is among the most active projects on GitHub.
61
+
While thousands of open issues and pull requests might seem a lot at first, it helps consider it in the context of the scope of the project.
62
+
Nixpkgs describes how to build tens of thousands of pieces of software and implements a Linux distribution.
63
+
The [GitHub Insights](https://github.com/NixOS/nixpkgs/pulse) page gives a sense of the project activity.
72
64
73
-
Community contributions are always welcome through GitHub Issues and
74
-
Pull Requests.
65
+
Community contributions are always welcome through GitHub Issues and Pull Requests.
75
66
76
-
For more information about contributing to the project, please visit
77
-
the [contributing page](CONTRIBUTING.md).
67
+
For more information about contributing to the project, please visit the [contributing page](CONTRIBUTING.md).
78
68
79
69
# Donations
80
70
81
-
The infrastructure for NixOS and related projects is maintained by a
82
-
nonprofit organization, the [NixOS
83
-
Foundation](https://nixos.org/nixos/foundation.html). To ensure the
84
-
continuity and expansion of the NixOS infrastructure, we are looking
85
-
for donations to our organization.
71
+
The infrastructure for NixOS and related projects is maintained by a nonprofit organization, the [NixOS Foundation](https://nixos.org/nixos/foundation.html).
72
+
To ensure the continuity and expansion of the NixOS infrastructure, we are looking for donations to our organization.
86
73
87
-
You can donate to the NixOS foundation through [SEPA bank
88
-
transfers](https://nixos.org/donate.html) or by using Open Collective:
74
+
You can donate to the NixOS foundation through [SEPA bank transfers](https://nixos.org/donate.html) or by using Open Collective:
Nixpkgs is licensed under the [MIT License](COPYING).
95
81
96
-
Note: MIT license does not apply to the packages built by Nixpkgs,
97
-
merely to the files in this repository (the Nix expressions, build
98
-
scripts, NixOS modules, etc.). It also might not apply to patches
99
-
included in Nixpkgs, which may be derivative works of the packages to
100
-
which they apply. The aforementioned artifacts are all covered by the
101
-
licenses of the respective packages.
82
+
Note:
83
+
MIT license does not apply to the packages built by Nixpkgs, merely to the files in this repository (the Nix expressions, build scripts, NixOS modules, etc.).
84
+
It also might not apply to patches included in Nixpkgs, which may be derivative works of the packages to which they apply.
85
+
The aforementioned artifacts are all covered by the licenses of the respective packages.
Copy file name to clipboardExpand all lines: doc/README.md
+21-10Lines changed: 21 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -62,21 +62,24 @@ Use [`devmode`](../pkgs/by-name/de/devmode/README.md) for a live preview when ed
62
62
63
63
Once you have a successful build, you can open the relevant HTML (path mentioned above) in a browser along with the anchor, and observe the redirection.
64
64
65
-
Note that if you already loaded the page and *then* input the anchor, you will need to perform a reload. This is because browsers do not re-run client JS code when only the anchor has changed.
65
+
Note that if you already loaded the page and *then* input the anchor, you will need to perform a reload.
66
+
This is because browsers do not re-run client JS code when only the anchor has changed.
66
67
67
68
## Syntax
68
69
69
70
As per [RFC 0072](https://github.com/NixOS/rfcs/pull/72), all new documentation content should be written in [CommonMark](https://commonmark.org/) Markdown dialect.
70
71
71
-
Additional syntax extensions are available, all of which can be used in NixOS option documentation. The following extensions are currently used:
72
+
Additional syntax extensions are available, all of which can be used in NixOS option documentation.
73
+
The following extensions are currently used:
72
74
73
75
#### Tables
74
76
75
77
Tables, using the [GitHub-flavored Markdown syntax](https://github.github.com/gfm/#tables-extension-).
76
78
77
79
#### Anchors
78
80
79
-
Explicitly defined **anchors** on headings, to allow linking to sections. These should be always used, to ensure the anchors can be linked even when the heading text changes, and to prevent conflicts between [automatically assigned identifiers](https://github.com/jgm/commonmark-hs/blob/master/commonmark-extensions/test/auto_identifiers.md).
81
+
Explicitly defined **anchors** on headings, to allow linking to sections.
82
+
These should be always used, to ensure the anchors can be linked even when the heading text changes, and to prevent conflicts between [automatically assigned identifiers](https://github.com/jgm/commonmark-hs/blob/master/commonmark-extensions/test/auto_identifiers.md).
80
83
81
84
It uses the widely compatible [header attributes](https://github.com/jgm/commonmark-hs/blob/master/commonmark-extensions/test/attributes.md) syntax:
82
85
@@ -99,18 +102,21 @@ They are defined using a hybrid of the link syntax with the attributes syntax kn
99
102
100
103
#### Automatic links
101
104
102
-
If you **omit a link text** for a link pointing to a section, the text will be substituted automatically. For example `[](#chap-contributing)`.
105
+
If you **omit a link text** for a link pointing to a section, the text will be substituted automatically.
106
+
For example `[](#chap-contributing)`.
103
107
104
108
This syntax is taken from [MyST](https://myst-parser.readthedocs.io/en/latest/using/syntax.html#targets-and-cross-referencing).
105
109
106
110
107
111
#### HTML
108
112
109
-
Inlining HTML is not allowed. Parts of the documentation gets rendered to various non-HTML formats, such as man pages in the case of NixOS manual.
113
+
Inlining HTML is not allowed.
114
+
Parts of the documentation gets rendered to various non-HTML formats, such as man pages in the case of NixOS manual.
110
115
111
116
#### Roles
112
117
113
-
If you want to link to a man page, you can use `` {manpage}`nix.conf(5)` ``. The references will turn into links when a mapping exists in [`doc/manpage-urls.json`](./manpage-urls.json).
118
+
If you want to link to a man page, you can use `` {manpage}`nix.conf(5)` ``.
119
+
The references will turn into links when a mapping exists in [`doc/manpage-urls.json`](./manpage-urls.json).
114
120
Please keep the `manpage-urls.json` file alphabetically sorted.
115
121
116
122
A few markups for other kinds of literals are also available:
@@ -123,7 +129,8 @@ A few markups for other kinds of literals are also available:
123
129
124
130
These literal kinds are used mostly in NixOS option documentation.
125
131
126
-
This syntax is taken from [MyST](https://myst-parser.readthedocs.io/en/latest/syntax/syntax.html#roles-an-in-line-extension-point). Though, the feature originates from [reStructuredText](https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html#role-manpage) with slightly different syntax.
132
+
This syntax is taken from [MyST](https://myst-parser.readthedocs.io/en/latest/syntax/syntax.html#roles-an-in-line-extension-point).
133
+
Though, the feature originates from [reStructuredText](https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html#role-manpage) with slightly different syntax.
127
134
They are handled by `myst_role` defined per renderer. <!-- reverse references in code -->
128
135
129
136
#### Admonitions
@@ -326,8 +333,11 @@ Otherwise, just describe the single argument or start the arguments' definition
326
333
327
334
Checklist:
328
335
- Start with a synopsis, to show the order of positional arguments.
329
-
- Metavariables are in emphasized code spans: ``` *`arg1`* ```. Metavariables are placeholders where users may write arbitrary expressions. This includes positional arguments.
330
-
- Attribute names are regular code spans: ``` `attr1` ```. These identifiers can _not_ be picked freely by users, so they are _not_ metavariables.
336
+
- Metavariables are in emphasized code spans: ``` *`arg1`* ```.
337
+
Metavariables are placeholders where users may write arbitrary expressions.
338
+
This includes positional arguments.
339
+
- Attribute names are regular code spans: ``` `attr1` ```.
340
+
These identifiers can _not_ be picked freely by users, so they are _not_ metavariables.
331
341
-_optional_ attributes have a _`Default:`_ if it's easily described as a value.
332
342
-_optional_ attributes have a _`Default behavior:`_ if it's not easily described using a value.
333
343
- Nix types aren't in code spans, because they are not code
@@ -404,7 +414,8 @@ This syntax is taken from [CommonMark](https://spec.commonmark.org/0.30/#link-re
404
414
405
415
#### Typographic replacements
406
416
407
-
Typographic replacements are enabled. Check the [list of possible replacement patterns check](https://github.com/executablebooks/markdown-it-py/blob/3613e8016ecafe21709471ee0032a90a4157c2d1/markdown_it/rules_core/replacements.py#L1-L15).
417
+
Typographic replacements are enabled.
418
+
Check the [list of possible replacement patterns check](https://github.com/executablebooks/markdown-it-py/blob/3613e8016ecafe21709471ee0032a90a4157c2d1/markdown_it/rules_core/replacements.py#L1-L15).
Copy file name to clipboardExpand all lines: lib/fileset/README.md
+4-2Lines changed: 4 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -166,7 +166,8 @@ Meanwhile `intersection ./foo ./bar` returns the empty file set without a base p
166
166
167
167
Arguments:
168
168
- Alternative: Use the common prefix of all base paths as the resulting base path
169
-
- (-) This is unnecessarily strict, because the purpose of the base path is to track the directory under which files _could_ be in the file set. It should be as long as possible.
169
+
- (-) This is unnecessarily strict, because the purpose of the base path is to track the directory under which files _could_ be in the file set.
170
+
It should be as long as possible.
170
171
All files contained in `intersection ./foo ./foo/bar` will be under `./foo/bar` (never just under `./foo`), and `intersection ./foo ./bar` will never contain any files (never under `./.`).
171
172
This would lead to `toSource` having to unexpectedly throw errors for cases such as `toSource { root = ./foo; fileset = intersect ./foo base; }`, where `base` may be `./bar` or `./.`.
172
173
- (-) There is no benefit to the user, since base path is not directly exposed in the interface
@@ -263,5 +264,6 @@ Coercing paths that don't exist to file sets always gives an error.
263
264
- (+) This is dangerous, because you wouldn't be protected against typos anymore.
264
265
E.g. when trying to prevent `./secret` from being imported, a typo like `difference ./. ./sercet` would import it regardless.
265
266
- (+) `difference ./. (maybeMissing ./does-not-exist)` can be used to do this more explicitly.
266
-
- (+) `difference ./. (difference ./foo ./foo/bar)` should report an error when `./foo/bar` does not exist ("double negation"). Unfortunately, the current internal representation does not lend itself to a behavior where both `difference x ./does-not-exists` and double negation are handled and checked correctly.
267
+
- (+) `difference ./. (difference ./foo ./foo/bar)` should report an error when `./foo/bar` does not exist ("double negation").
268
+
Unfortunately, the current internal representation does not lend itself to a behavior where both `difference x ./does-not-exists` and double negation are handled and checked correctly.
267
269
This could be fixed, but would require significant changes to the internal representation that are not worth the effort and the risk of introducing implicit behavior.
0 commit comments