Commit Graph

34 Commits

Author SHA1 Message Date
a-n-n-a-l-e-e
2809c84cfb
Merge pull request #294347 from lolbinarycat/meta.repository
stdenv: add meta.repository field
2024-03-29 13:03:04 -07:00
binarycat
7e1443abbb stdenv: add meta.repository field 2024-03-29 14:34:09 -04:00
Janne Heß
fcc95ff817 treewide: Fix all Nix ASTs in all markdown files
This allows for correct highlighting and maybe future automatic
formatting. The AST was verified to work with nixfmt only.
2024-03-28 09:28:12 +01:00
Anderson Torres
e671d3bbbd Nix docs: remove with lib; from example code
Following [Best Practices](https://nix.dev/guides/best-practices#with-scopes),
`with` is a problematic language construction and should be avoided.

Usually it is employed like a "factorization": `[ X.A X.B X.C X.D ]` is written
`with X; [ A B C D ]`.

However, as shown in the link above, the syntatical rules of `with` are not so
intuitive, and this "distributive rule" is very selective, in the sense that
`with X; [ A B C D ]` is not equivalent to `[ X.A X.B X.C X.D ]`.

However, this factorization is still useful to "squeeze" some code, especially
in lists like `meta.maintainers`.

On the other hand, it becomes less justifiable in bigger scopes. This is
especially true in cases like `with lib;` in the top of expression and in sets
like `meta = with lib; { . . . }`.

That being said, this patch removes most of example code in the current
documentation.

The exceptions are, for now
- doc/functions/generators.section.md
- doc/languages-frameworks/coq.section.md

because, well, they are way more complicated, and I couldn't parse them
mentally - yet another reason why `with` should be avoided!
2024-03-06 11:40:09 -03:00
asymmetric
b414f942e0
doc: link, instead of just mentioning, Nix manual (#255126)
Instead of just telling the reader to go find the relevant section of the Nix
manual, let's just link to it. Yay hypertext!
2023-09-14 17:09:39 +02:00
Maximilian Ehlers
a29cf4aece
Link to usage of pkg description instead of referring to nix-env (#255127)
* Updates meta.chapter.md with a reference link to the usage of the package description field instead of referring to nix-env

---------

Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-09-14 16:59:20 +02:00
Artturin
61c0ecea5b treewide: update mainProgram docs 2023-08-04 20:31:16 +03:00
Valentin Gagarin
b4b928466a
Merge pull request #237068 from pennae/manual-normalization 2023-06-13 07:35:06 +02:00
Andrew
1b6f640687
doc: correct typos and spelling (#237098) 2023-06-11 02:15:43 +02:00
pennae
2ecc93d6fe doc: normalize markdown for nixos-render-docs
pandoc recognizes `::: note` admonitions, nixos-render-docs only
recognizes `::: {.note}`. surprisingly pandoc also emits the correct
docbook tags for `[](#xref)`s, so we can use that too.
2023-06-10 18:17:05 +02:00
Alyssa Ross
caa0a24ab0 doc: clarify that meta.timeout is only for Hydra
I read this and expected it to be a timeout that was always applied
when building the derivation, but it's actually a Hydra-specific
thing.
2023-05-30 10:27:44 +00:00
Adam Joseph
372e0f8efc
doc/stdenv/meta.chapter.md: document meta.badPlatforms (#225276)
* doc/stdenv/meta.chapter.md: document meta.badPlatforms

We don't have any documentation for the `meta.badPlatforms` attribute.

This commit adds documentation for it.
2023-04-24 10:06:50 +02:00
Adam Joseph
75bbbbd39b remove trailing whitespace 2023-04-23 21:32:40 -07:00
Adam Joseph
401430319c
Update doc/stdenv/meta.chapter.md
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-04-24 04:31:38 +00:00
Adam Joseph
467ee31e58
Update doc/stdenv/meta.chapter.md
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-04-24 04:30:37 +00:00
Adam Joseph
19d48a9257 doc/stdenv/meta.chapter.md: explain difference between broken and badPlatforms
There has been a longstanding ambiguity between `broken` and
`badPlatforms`, which seem to serve overlapping purposes.

This commit adds to the documentation two examples of constraints
which cannot be expressed by `platforms` and `badPlatforms`.

This commit also mentions `NIXPKGS_ALLOW_BROKEN=1` for overriding
`broken`.
2023-04-11 13:21:51 -07:00
pennae
052bb41410 doc: assign ids to many headings
without stable ids on headings we cannot generate stable links to these
headings. nrd complains about this, but the current docbook workflow
does not.

a few generated ids remain, mostly in examples and footnotes. most of
the examples are generated by nixdoc (which has since gained MD export
functions, and the MD export does generate IDs).
2023-03-27 22:39:11 +02:00
figsoda
3d1afabefc docs: prefer maintainers: add commits to be in the same pull request 2023-01-07 17:00:32 -05:00
Arnout Engelen
cfdd900d66
manual: update meta-attributes section
Promote the `maintainers = with maintainers; [ ]` syntax as that is most common
in nixpkgs, and remove the `nix-env` example which doesn't work like that anymore.
2022-12-03 10:04:15 +00:00
John Ericson
66aa02f190 lib/systems: Support FreeBSD
A tricky thing about FreeBSD is that there is no stable ABI across
versions. That means that putting in the version as part of the config
string is paramount.

We have a parsed represenation that separates name versus version to
accomplish this. We include FreeBSD versions 12 and 13 to demonstrate
how it works.
2022-11-04 16:49:28 -04:00
Robert Hensing
6205d37747 nixos/testing: Improve option docs 2022-09-24 17:38:10 +01:00
Naïm Favier
2f88279ab9
doc: specify that longDescription should be Markdown
In the spirit of RFC 72, document that longDescription is in CommonMark.
2022-08-29 20:19:34 +02:00
Adam Joseph
81bc106e08 meta.sourceProvenance documentation: clarify it is unaffected by changes to meta.license
This commit clarifies that the meaning of the `meta.sourceProvenance`
field is independent of and unaffected by the value of the
`meta.license` field.  This is based on the intent of the RFC author
as expressed here:

  https://github.com/NixOS/nixpkgs/pull/161098#issuecomment-1081270201

This clarification is added for two reasons:

1. If in the future there should be some disagreement about what
   `sourceProvenance` to assign to a package, this may help resolve
   the disagreement.  Any interpretation of `sourceProvenance` which
   is influenced by the `meta.license` is clearly an incorrect
   interpretation.

2. If it should turn out that it is impossible to disentangle
   `sourceProvenance` from `meta.license`, this would indicate the
   need for changes to the `sourceProvenance` scheme.  That change
   might be as simple as replacing the sentence added by this commit
   with some other sentence explaining how the two fields influence
   each other.

This commit implements the recommendation made in the paragraph of
this comments which begins with "Please say this explicitly...":

  https://github.com/NixOS/nixpkgs/pull/161098#issuecomment-1081309089
2022-05-30 16:27:34 +08:00
Robert Scott
9d0784829a add initial meta.sourceProvenance documentation 2022-05-30 16:27:34 +08:00
Robert Hensing
0e00acafe9 stdenv.mkDerivation: public -> finalPackage 2022-05-02 08:49:33 +02:00
Robert Hensing
d629ba27d9 Use finalAttrs instead of self for mkDerivation "overlay" 2022-05-02 08:49:31 +02:00
Robert Hensing
6d7efb3a16 stdenv.mkDerivation: Make self more overlay-like; use self.public
`self` is now arguments, like `super`. The final package is in
`self.public`.
2022-05-02 08:49:31 +02:00
Robert Hensing
2f21bc2fdb doc/stdenv/meta: tests -> passthru.tests
Make the text understandable without knowing that these are identical.

Co-authored-by: Daniël de Kok <me@github.danieldk.eu>
2022-05-02 08:49:30 +02:00
Robert Hensing
a4e7085227 stdenv.mkDerivation: Allow overriding of recursive definitions
See updated manual for further explanation.
2022-05-02 08:49:26 +02:00
Felix Buehler
7801f72b4c meta.updateWalker: remove, because it is not used 2022-01-26 21:46:07 +01:00
figsoda
4b93f966c5 doc: stdenv: document meta.mainProgram 2021-08-19 14:00:04 -04:00
Arnout Engelen
d09e0be1c4
nixpkgs-docs: when to prefer passthru.tests over installCheckPhase
And mention you can have either lightweight 'package' or
more heavyweight 'NixOS' (module) tests.

This was suggested at
https://github.com/ryantm/nixpkgs-update/issues/260#issuecomment-821287971
and discussed further at
https://github.com/NixOS/nixpkgs/pull/119731
2021-08-14 09:47:21 +02:00
Jan Tojnar
6ecc641d08
doc: prepare for commonmark
We are still using Pandoc’s Markdown parser, which differs from CommonMark spec slightly.

Notably:
- Line breaks in lists behave differently.
- Admonitions do not support the simpler syntax https://github.com/jgm/commonmark-hs/issues/75
- The auto_identifiers uses a different algorithm – I made the previous ones explicit.
- Languages (classes) of code blocks cannot contain whitespace so we have to use “pycon” alias instead of Python “console” as GitHub’s linguist

While at it, I also fixed the following issues:
- ShellSesssion was used
- Removed some pointless docbook tags.
2021-06-07 06:34:59 +02:00
Jan Tojnar
921d0269cc
doc: Port stdenv/meta to Markdown 2021-03-14 02:15:14 +01:00