Commit Graph

54 Commits

Author SHA1 Message Date
Valentin Gagarin
50ff833cd8 devmode: move to pkgs/by-name
now one can use `devmode` from anywhere Nixpkgs is available:

    devmode = pkgs.devmode.override {
      buildArgs = toString ./.;
      open = "/index.html";
    };
2024-11-12 10:16:58 +01:00
Valentin Gagarin
b94f54b7a0 devmode: make reusable
the `devmode` helper made for the Nixpkgs/NixOS manual was exposed wrapped
in `mkShell`, which made it impossible to reuse.

this change strips that wrapper and reproduces it at the call site.

now one can use `devmode` from anywhere Nixpkgs is available:

    devmode = pkgs.callPackage "${pkgs.path}/pkgs/tools/nix/web-devmode.nix" {
      buildArgs = toString ./.;
      open = "/index.html";
    };
2024-11-12 10:16:58 +01:00
Samuel Tardieu
1e4395e769 docs: fix typo "derivaton" → "derivation" (×3) 2024-10-28 13:29:09 +01:00
Nathan Henrie
1218148c55 nixpkgs-manual.lib-docs: fix sandboxed build on darwin
The darwin sandbox prevents this nix call from accessing `/nix/
store/.links` resulting in a build failure:

```
> error: getting status of '/nix/store/.links': Operation not permitted
```

Thanks to @emilazy for the workaround!

Fixes https://github.com/NixOS/nixpkgs/issues/339808
2024-09-12 12:44:17 -06:00
Philip Taron
587f64a264
nixpkgs-manual: use injected revision only
`lib.trivial.revisionWithDefault` will change with every Git commit, which causes the manual to be rebuilt on every since PR.

Using `nixpkgs.rev` (or the dummy value "master" if it's not present) means that the manual will contain the revision if built on Hydra, but will not otherwise.

Why?

1. https://hydra.nixos.org/jobset/nixos/trunk-combined#tabs-configuration shows that `pkgs/top-level/release.nix` is passed the `nixpkgs` attrset, which is a "Git checkout".
2. Git checkouts come from [`builtins.fetchGit`](https://nix.dev/manual/nix/2.18/language/builtins#builtins-fetchGit) and include the `rev` attribute.
3. The `rev` attribute is what `lib.trivial.revisionWithDefault` would have returned.

So, using `nixpkgs.rev or "master"` exclusively will cause the rebuilds on every commit to cease, but will allow "official" nixpkgs manual built on Hydra to continue to reference a specific commit.
2024-07-29 11:29:15 -07:00
Philip Taron
b846df0a2e
nixpkgs-manual: inline common.nix 2024-07-26 13:46:13 -07:00
Philip Taron
eaa7811104
nixpkgs-manual: move shell to package 2024-07-26 13:46:12 -07:00
Philip Taron
b5dc82844f
nixpkgs-manual: init 2024-07-26 13:46:12 -07:00
Philip Taron
4252286f21
doc: extract nixpkgs-manual into its own package
Also, use `finalAttrs` style and pass through all the helper derivations.
2024-07-26 13:44:04 -07:00
Philip Taron
2266280af7
doc: reshape python-interpreter-table.nix into a normal callPackage
Before, it produced a string, not a derivation.
2024-07-26 13:44:04 -07:00
Philip Taron
eac67316dc
doc: extract optionsDoc into its own package 2024-07-26 13:44:04 -07:00
Philip Taron
ee6a243ea4
doc: extract epub manual stub into its own package 2024-07-26 13:44:04 -07:00
Philip Taron
87b8931d74
doc: make ./doc-support/lib-function-docs.nix callPackage style
Move `libsets` over to it, since it's the only user.

Format with `nixfmt` since we're changing it so dramatically.
2024-07-26 13:44:04 -07:00
Silvan Mosberger
f01573b6ee doc: Prevent evaluation warnings
Problem: `nix-build doc` gives a bunch of warnings because it inspects
`lib` to figure out where all the symbols are.

Solution: Move the step of figuring out where the symbols are to
a Nix evaluation inside a derivation instead.
2024-07-18 23:33:29 +02:00
Alejandro Sánchez Medina
0cb4674319
doc: autogenerate python interpreter table (#313408)
* doc: autogenerate python interpreter table

This serves as a practical example on generating documentation by
inspection of the evaluated Nixpkgs tree.

Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2024-05-23 10:36:15 +02:00
Johannes Kirschbauer
48a2178434 adds block_args for autogenerated ids from trustworthy sources 2024-01-29 22:29:39 +01:00
Robert Hensing
aa1beb0ab5 doc: Render lib.fixedPoints 2023-07-08 18:46:08 +02:00
pennae
fc1b58b593 doc: inline doc-support to main drv
separating function docs out like this makes it less clear how library
documentation is generated and integrated into the build. if in the
future more parts of nixpkgs use nixdoc it will make sense to have all
information about library doc generation in the same place.
2023-07-01 20:59:30 +02:00
pennae
70cbd8c6c0 doc: pull option docs out of doc-support
this leaves doc-support as a simple wrapper around function docs. this
wrapper will go away very soon as well.
2023-07-01 20:59:30 +02:00
pennae
f397309f4e doc: remove remnants of docbook times
all xml-related tooling can go away. shell.nix is no longer useful since
the makefile is gone and the build runs entirely via a derivation, and
gitignore is thus also no longer that useful. it may filter out some
swap files, but its main reason to exist (keeping generated files out of
a concurrent build of the derivation) has gone away.
2023-07-01 20:59:30 +02:00
pennae
be4d19ff1a doc: render nixpkgs manual with nrd
also updates nixdoc to 2.3.0. the nixdoc update is not a separate commit
because that would leave the manual build broken for one commit,
potentially breaking bisects and rebases.
2023-07-01 20:59:29 +02:00
pennae
b521f451a3 doc-support: don't expose locationsXml
nothing except function docs uses this, so we need not expose it. we'll
be reworking this entire section of the build anyway, with the target of
breaking up doc-support as it is now.
2023-07-01 20:27:29 +02:00
Robert Hensing
8054785157 lib/modules: Move class out of specialArgs 2023-05-06 18:32:58 +02:00
Robert Hensing
79703eef08 nixos,nixpkgs: Add module classes
This allows modules that declare their class to be checked.
While that's not most user modules, frameworks can take advantage
of this by setting declaring the module class for their users.
That way, the mistake of importing a module into the wrong hierarchy
can be reported more clearly in some cases.
2023-05-06 18:29:04 +02:00
Silvan Mosberger
019fd45537 doc: Fix the function locations always pointing to master
Instead of revisions as they should. This is (most-likely) caused by a
simple typo, because Hydra is where the revision should come from, but
it doesn't set `.revision` as the attribute, but rather `.rev`!
2023-04-13 20:33:39 +02:00
pennae
bfc6975cbc nixos/manual: remove holdovers from docbook times
these files provided mainly or exclusively xml-related tooling and
support for editing the manual. since docbook is now an implementation
detail (except for still being allowed in option docs, for now) these
tools are no longer necessary, useful, or even functional.

xmlformat.conf is still used by the nixpkgs documentation, so we have to
keep it. there's no reason it can't go live with the nixpkgs docs though.
2023-02-12 14:23:38 +01:00
Silvan Mosberger
98fbcf1788 lib.path.subpath.isValid: init
The first path library function
2023-01-03 13:20:36 +01:00
Silvan Mosberger
8496683ec9 lib: Allow doc rendering for lib/<name>/default.nix 2022-12-23 21:10:43 +01:00
Silvan Mosberger
b3792b44c5 lib: correctly render docs for nested identifiers
Applies https://github.com/nix-community/nixdoc/pull/27 and fixes up the
location information rendering, allowing lib functions to be nested in
further scopes

Needed for later commits
2022-12-23 21:10:16 +01:00
Naïm Favier
5782c3d802
doc/lib-functions: print libset name before description 2022-12-22 11:31:11 +01:00
Naïm Favier
ce952286ca
doc/lib-functions: preserve libsets order 2022-12-22 11:31:11 +01:00
Naïm Favier
e1bb8f1e74
doc/lib-functions: add versions, cli 2022-12-22 11:31:11 +01:00
Naïm Favier
8906aa28e4
doc/lib-functions: remove warnings
Building the nixpkgs manual currently triggers a bunch of deprecation
warnings, because every attribute in `lib` is evaluated to see if it's
an attrset to generate locations for.

Instead, share the lib subsets to include in the documentation
between `lib-function-docs` and `lib-function-locations` so they can
coordinate.

Also generate the list of sections instead of duplicating it in
`library.xml`.
2022-12-22 11:31:08 +01:00
figsoda
403e25e3e3 doc: fix typos 2022-12-17 18:21:48 -05:00
Robert Hensing
c23666473c doc: Remove all section numbers
Simplicity.

We use anchors nowadays. Nobody should be printing this.
2022-12-12 13:04:39 +01:00
Ryan Mulligan
ac1ae0a58e doc: auto-generate asserts and attrset library docs
If all the docs are auto-generated, it should be easier to convert
them to Commonmark.

Co-Authored-By: Valentin Gagarin <valentin.gagarin@tweag.io>
Co-Authored-By: Silvan Mosberger <contact@infinisil.com>
2022-12-08 22:58:22 +01:00
Anderson Torres
4b59590ac5
Revert "lib,doc: remove obvious usages of toString on paths" 2022-11-05 21:57:23 -03:00
Artturin
66cf79f282 lib,doc: remove obvious usages of toString on paths
It gives a warning on the lazy-trees branch of Nix
(NixOS/nix#6530)

one of these was also giving me an error (the one in lib/trivial probably)

```
$ nix build
warning: applying 'toString' to path '/home/artturin/nixgits/my-nixpkgs/nixos/modules/installer/sd-card/sd
-image-aarch64.nix' and then accessing it is deprecated, at /home/artturin/nixgits/my-nixpkgs/lib/modules.
nix:349:99
warning: applying 'toString' to path '/home/artturin/nixgits/my-nixpkgs/.git' and then accessing it is dep
recated, at /home/artturin/nixgits/my-nixpkgs/lib/sources.nix:35:32
warning: applying 'toString' to path '/home/artturin/nixgits/my-nixpkgs/nixos/modules/system/etc/etc.nix'
and then accessing it is deprecated, at «stdin»:0
warning: applying 'toString' to path '/home/artturin/nixgits/my-nixpkgs/nixos/modules/system/etc/etc-activ
ation.nix' and then accessing it is deprecated, at «stdin»:0
warning: applying 'toString' to path '/home/artturin/nixgits/my-nixpkgs/nixos/modules/installer/sd-card/sd
-image-aarch64.nix' and then accessing it is deprecated, at «stdin»:0
error: cannot decode virtual path '/nix/store/virtual0000000000000000000000005-source'
(use '--show-trace' to show detailed location information)
```
2022-11-06 00:00:39 +02:00
Silvan Mosberger
9bfc4bbd63 lib: Automatically generate lib.filesytem docs 2022-10-26 15:10:47 +02:00
Arnout Engelen
10670b0b96
nixpkgs/doc: generate consistent docbook ids
to make diff'ing different versions of the generated docs less noisy
2022-07-28 20:08:25 +02:00
Robert Hensing
11b33fcdcc doc: Fix config options reference file links 2022-06-15 00:45:05 +02:00
Robert Hensing
e40d2099d2 doc: Add Nixpkgs config options reference 2022-05-02 10:21:05 +02:00
Robert Hensing
4a025692d1 lib.sources: Generate docs 2021-05-29 16:03:54 +02:00
Florian Klink
855a12eacf Revert "make-tarball.nix: Restore the 'commit' field in packages.json"
This reverts commit 5e8545e723.

It breaks eval:

attribute 'rev' missing, at /var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/mr-est/eval-0-gleber.ewr1.nix.ci/pkgs/top-level/make-tarball.nix:106:39
2020-03-29 20:57:50 +02:00
Eelco Dolstra
5e8545e723
make-tarball.nix: Restore the 'commit' field in packages.json
Also change incorrect 'revision' to 'rev' in the default value for
'nixpkgs' in release.nix.

Fixes https://github.com/NixOS/nixos-homepage/issues/372.
2020-03-29 20:16:07 +02:00
Frederik Rietdijk
95dfbe2d63 doc: organize chapters into parts, and reduce toc depth
Reorganize the chapters into parts and reduce the TOC depth to make the
TOC useful again. The top-level TOC is very brief, but that is fine
because every part will have its own TOC.

Section titles of languages/frameworks are also simplified to just
the name of the language/framework.
2019-10-20 13:35:04 +02:00
volth
35d68ef143 treewide: remove redundant quotes 2019-08-26 21:40:19 +00:00
Graham Christensen
fa47df6174
doc: move parameters to an XML file 2019-07-04 09:16:06 -04:00
Graham Christensen
5a0696f6d0
xmlformat.conf: move to doc-support build 2019-07-04 09:10:14 -04:00
Graham Christensen
de58e706f9
docs: Get highlightjs from build symlink 2019-07-04 09:10:14 -04:00