1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-11-18 03:30:45 +00:00
Commit graph

326 commits

Author SHA1 Message Date
pennae 1229e735ac nixos-render-docs: add structural includes, use for manual
this adds support for structural includes to nixos-render-docs.
structural includes provide a way to denote the (sub)structure of the
nixos manual in the markdown source files, very similar to how we used
literal docbook blocks before, and are processed by nixos-render-docs
without involvement of xml tooling. this will ultimately allow us to
emit the nixos manual in other formats as well, e.g. html, without going
through docbook at all.

alternatives to this source layout were also considered:

a parallel structure using e.g. toml files that describe the document
tree and links to each part is possible, but much more complicated to
implement than the solution chosen here and makes it harder to follow
which files have what substructure. it also makes it much harder to
include a substructure in the middle of a file.

much the same goes for command-line arguments to the converter, only
that command-lined arguments are even harder to specify correctly and
cannot be reasonably pulled together from many places without involving
another layer of tooling. cli arguments would also mean that the manual
structure would be fixed in default.nix, which is also not ideal.
2023-02-12 13:02:42 +01:00
pennae bb34d5d6d4 nixos/manual: replace ids on blocks with inline anchors
nixos-render-docs supports inline anchors, but not ids for blocks. it
seems wise to reserve blocks for special cases that don't have other
syntax already, like admonitions.
2023-02-10 06:40:01 +01:00
pennae 2e3d9e8d74 nixos/manual: remove .unnumbered section attributes
pandoc would drop these when converting to docbook, just like it dropped
.title block classes.
2023-02-10 06:40:01 +01:00
pennae a15d7335a5 nixos/manual: remove .title fenced divs
pandoc drops .title classes when rendering to docbook, so these are
effectively just paragraphs anyway. without support for including them
in a table of contents the complexity of parsing them in
nixos-render-docs won't be warranted.
2023-02-10 06:40:00 +01:00
pennae 8163651338 nixos/manual: fix option-declarations sections
the examples for mkPackageOption weren't terminated, leading to pretty
odd nesting of docbook (and thus html) elements. close them properly.

also turn the (likewise unclosed) fenced div containing just an anchor
id and a class that will be silently dropped to an inline anchor while
we're here. we'd have to convert it anyway later.
2023-02-10 06:40:00 +01:00
pennae ba4bcdc5e4 nixos/manual: remove some newlines from deflists
markdown-it parses deflists slitghtly differently than pandoc does. in
these two cases pandoc would find a deflist item while markdown-it would
not, instead it'd find a lone colon and the rest of the text.
2023-02-10 06:40:00 +01:00
pennae 5b6dcece88
Merge pull request #212684 from pennae/nixos-render-docs
nixos-render-docs: init, use for some manual rendering to docbook
2023-01-30 19:26:07 +01:00
pennae 0a6e6cf7e6 nixos/manual: render module chapters with nixos-render-docs
this converts meta.doc into an md pointer, not an xml pointer. since we
no longer need xml for manual chapters we can also remove support for
manual chapters from md-to-db.sh

since pandoc converts smart quotes to docbook quote elements and our
nixos-render-docs does not we lose this distinction in the rendered
output. that's probably not that bad, our stylesheet didn't make use of
this anyway (and pre-23.05 versions of the chapters didn't use quote
elements either).

also updates the nixpkgs manual to clarify that option docs support all
extensions (although it doesn't support headings at all, so heading
anchors don't work by extension).
2023-01-27 20:07:34 +01:00
Jörg Thalheim 29db54c373 nixos/tests: extend shell_interact to accept alternative socat addresses
`shell_interact()` is currently not nice to use.  If you try to cancel
the socat process, it will also break the nixos test. Furthermore
ptpython creates it's own terminal that subprocesses are running in,
which breaks some of the terminal features of socat.
Hence this commit extends `shell_interact` to allow also to connect to
arbitrary servers i.e. tcp servers started by socat.
2023-01-27 13:09:25 +01:00
pennae ad8d5cf731 nixos/manual: clarify mk{Enable,Package}Option MD usage
the examples were incorrect, but not catastrophically. running a docs
build would've issued a warning with the correct instructions.
2023-01-22 17:08:40 +01:00
pennae 785c0f2afa nixos/manual: mention that module chapters should use markdown 2023-01-10 10:31:59 +01:00
pennae 9da5f12ecf modules: add mkPackageOptionMD
another transitional option factory, like mkAliasOptionModuleMD.
2023-01-05 02:33:13 +01:00
Bjørn Forsman dba49a43a0 nixos/test-driver: add optional address arg to wait_for_{open,closed}_port
This is useful for testing servers configured to listen on specific
addresses.
2022-12-29 13:50:17 +01:00
Naïm Favier 3f6fed2e59
doc,nixos/doc: unescape ellipses
Leftovers from the CommonMark conversion.
2022-12-27 17:13:49 +01:00
Naïm Favier d11832fd96
doc,nixos/doc: unescape apostrophes
Leftovers from the CommonMark conversion.
2022-12-27 17:13:47 +01:00
figsoda 6bb0dbf91f nixos: fix typos 2022-12-17 19:31:14 -05:00
Raito Bezarius 11dfbee0a4 nixos/activation/bootspec: add bootspec chapter in NixOS manual 2022-12-08 13:50:05 -08:00
Naïm Favier e8927c46b8
nixos/doc: document mkOrder and friends
Add a section on ordering option definitions.

Also mention `mkDefault` in the section on `mkOverride`.

Clarify the code a bit by renaming `defaultPriority` to
`defaultOverridePriority` and introducing `defaultOrderPriority`.
2022-12-02 14:15:24 +01:00
pennae 07e5701aca nixos/manual: re-add mention of mdDoc marker 2022-11-14 16:05:44 +01:00
Robert Hensing 216c5dc10d nixos/doc: Disambiguate test option ids
Changing this later on would break external links into the manual.
2022-09-29 12:41:59 +02:00
Robert Hensing 7f0d934f9a
Merge pull request #191540 from hercules-ci/nixosTest-modular
nixosTest: make modular
2022-09-28 10:27:45 +01:00
Robert Hensing 3ce4179374 nixos/doc/writing-nixos-tests: Remove flake info for now 2022-09-24 17:42:53 +01:00
Robert Hensing 7cdc9bc340 nixos/testing: Improve interactive docs 2022-09-24 17:42:52 +01:00
Robert Hensing 6a78b41476 nixos/doc/writing-nixos-tests: Various improvements
Thanks to fricklerhandwerk for the many suggestions, most of which
I have fixupped into preceding commits.
2022-09-24 17:38:11 +01:00
Robert Hensing b2caf7965c nixos/doc/writing-nixos-tests: Clarify working directory
Co-authored-by: christian-burger <christian@krikkel.de>
2022-09-24 17:38:11 +01:00
Robert Hensing ac03757eb2 nixos/doc: Wire up the test options reference 2022-09-24 17:38:10 +01:00
Robert Hensing 6205d37747 nixos/testing: Improve option docs 2022-09-24 17:38:10 +01:00
Robert Hensing 537f456373 nixos/doc/running-nixos-tests: Simplify running instructions with nixosTests 2022-09-24 17:38:08 +01:00
Robert Hensing 6e2f753989 nixos/doc/running-nixos-tests-interactively: Describe interactive option 2022-09-24 17:38:08 +01:00
Robert Hensing b0c781cc41 nixos/testing: Move entrypoint to nixos/lib + doc 2022-09-24 17:38:08 +01:00
maralorn fae2ff5c03 haskell.{compiler,packages}: Add aliases without minor versions 2022-09-21 05:51:28 +02:00
pennae 767485a0de lib/options: deprecate docbook text and literalDocBook
deprecate literalDocBook by adding a warning (that will not fire yet) to
its uses and other docbook literal strings by adding optional warning
message to mergeJSON.
2022-09-10 18:23:13 +02:00
Silvan Mosberger 6389a26e5f
Merge pull request #181834 from ncfavier/numbers
lib/types: add `number`
2022-09-09 19:59:29 +02:00
Naïm Favier 52bbbaeb09
nixos/doc/option-types: add precision loss warning for floats 2022-09-09 15:39:35 +02:00
github-actions[bot] 9b65c7a2b7
Merge master into haskell-updates 2022-08-04 00:13:57 +00:00
Brian Leung feddd5e7f8
manual: fix typos 2022-07-29 11:20:55 -07:00
sternenseemann 7f909b041b haskell.compiler: ghc923 -> ghc924
https://www.haskell.org/ghc/download_ghc_9_2_4.html
2022-07-28 18:09:33 +02:00
Naïm Favier 5480f45f63
nixos/doc/option-types: refactor, document numbers 2022-07-25 11:19:06 +02:00
Valentin Gagarin 15edb27dd5
Merge pull request #177732 from tljuniper/python-doc-typos
doc/languages-frameworks: Fix typos
2022-07-15 11:50:54 +01:00
Alex Wied 4d269d11e3 nixos/doc: Fix typo in activation-script.md 2022-06-28 17:46:16 -04:00
Robert Hensing e2c261f2c0
Merge pull request #176146 from pennae/module-docs-markdown
treewide: markdown option docs
2022-06-21 13:16:02 +02:00
tljuniper 84f1f79a8d nixos/doc: test-driver: Note on skipTypeCheck with extraPythonPackages 2022-06-21 09:05:24 +02:00
Robert Hensing d9dccae07c nixos/doc: Hold off on NixOps 2 info until released 2022-06-14 23:23:41 +02:00
Robert Hensing dfd98a5da2 lib.deferredModule: Make it properly singular 2022-06-14 23:01:27 +02:00
Robert Hensing 4746f6d03e lib.types: Add deferredModule 2022-06-14 23:01:23 +02:00
pennae 320aa2a791 treewide: attempt at markdown option docs 2022-06-12 12:44:38 +02:00
Robert Hensing bad676c7ed
Merge pull request #174441 from tljuniper/172325-nixostest-override-python-pkgs-additional-param
nixos/test-driver: additional Python packages in test driver
2022-06-05 20:46:01 +02:00
github-actions[bot] 9ebf890b3f
Merge master into haskell-updates 2022-06-04 00:13:01 +00:00
Robert Hensing 793180cf55
Merge branch 'master' into 172325-nixostest-override-python-pkgs-additional-param 2022-06-03 14:22:13 +02:00
Michael Schneider fd4ebd8990 add opt out flag for type checking 2022-06-03 13:37:04 +02:00
tljuniper 2a750c3026 nixos/manual: Add docs on extra python packages in tests 2022-05-29 11:22:50 +02:00
sternenseemann 90099ac5fa haskell.compiler: ghc922 -> ghc923
https://www.haskell.org/ghc/download_ghc_9_2_3.html

Since the tarball is generated by Hadrian, neither autoreconf nor ./boot
is executed so ./configure and ghc.mk is missing.
2022-05-28 21:11:07 +02:00
pennae f16c8e58ca
Merge pull request #167037 from schuelermine/patch-doc-submodule-default
nixos/doc/types: note submodules’ default’s behaviour
2022-05-27 13:21:48 +00:00
tljuniper ed945aeb6e nixos/manual: Clarify execute exit status
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2022-04-21 10:54:00 +02:00
Anna Gillert 7586158ac9 nixos/manual: Refine doc for execute et al
- Clarify that shellopts are set in every `execute` call (rather than
  only `succeed`).
- Add documentation for the `timeout` parameter and its default values.
2022-04-21 10:54:00 +02:00
Florian Klink b2f5308400 nixos/doc: move "Building NixOS" into "Installation", not "Development"
This section mostly describes how to build various installer images, so
it fits better in that chapter.

Proposed in https://github.com/NixOS/nixpkgs/pull/168306#discussion_r848329534
2022-04-16 15:19:03 +02:00
Florian Klink 9ff1ab4037 nixos/doc: add notes on additional drivers or firmware
This describes how to build your own installer medium with some custom
firmware/drivers, using an Intel MacBook as an example - on which WiFi
doesn't work out of the box, due to it being nonfree.

Fixes #15162.

Co-authored-by: Lucas Hoffmann <lucc@users.noreply.github.com>
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2022-04-12 12:43:50 +02:00
Anselm Schüler 9a8b7640e0 nixos/doc/types: note submodules’ default’s behaviour 2022-04-03 15:12:18 +02:00
Robert Hensing 28a227a890 formats.javaProperties: Add documentation 2022-04-01 15:19:45 +02:00
Robert Hensing 16c5f5534d
Merge pull request #165035 from roberth/nixosTest-remove-machine-arg
nixosTest: remove `machine` syntax sugar
2022-03-31 14:41:05 +02:00
Robert Hensing ecbf5ae27a nixosTest: Simplify doc by deprecating syntax sugar 2022-03-28 14:11:58 +02:00
sternenseemann 372d0a707e Merge remote-tracking branch 'origin/master' into haskell-updates 2022-03-26 09:59:28 +01:00
Janne Heß 7d0e21c77e
nixos/test-runner: Allow writing to qemu stdin 2022-03-25 12:08:21 +01:00
github-actions[bot] 6863d678bc
Merge master into haskell-updates 2022-03-17 00:10:36 +00:00
Robert Hensing 0395086d0c
Merge pull request #162271 from Infinisil/warn-no-type
Throw an error for options without a type
2022-03-16 22:58:45 +01:00
github-actions[bot] 6182623035
Merge master into haskell-updates 2022-03-14 00:11:26 +00:00
pennae aa7b129708
Merge pull request #154113 from pennae/systemd-escaping
nixos: add functions and documentation for escaping systemd Exec* directives
2022-03-13 19:57:32 +00:00
pennae 40a35299fa nixos: add functions and documentation for escaping systemd Exec* directives
it's really easy to accidentally write the wrong systemd Exec* directive, ones
that works most of the time but fails when users include systemd metacharacters
in arguments that are interpolated into an Exec* directive. add a few functions
analogous to escapeShellArg{,s} and some documentation on how and when to use them.
2022-03-12 00:48:52 +01:00
sternenseemann f5c34205ad Merge remote-tracking branch 'origin/master' into haskell-updates 2022-03-11 16:47:23 +01:00
Janne Heß bc58430068
nixos/switch-to-configuration: Fix reloading of stopped services 2022-03-11 14:05:19 +01:00
Janne Heß c96180c53f
nixos/switch-to-configuration: Ignore some unit keys
Some unit keys don't need to restart the service to make them effective.
Reduce the amount of service restarts by ignoring these keys
2022-03-11 13:30:03 +01:00
Naïm Favier 9c2266c031
lib.types.package: only call toDerivation when necessary
The current logic assumes that everything that isn't a derivation is a
store path, but it can also be something that's *coercible* to a store
path, like a flake input.

Unnecessary uses of `lib.toDerivation` result in errors in pure evaluation
mode when `builtins.storePath` is disabled.

Also document what a `package` is.
2022-03-11 11:26:34 +01:00
sternenseemann 47f837f5e8 haskell.compiler: ghc921 -> ghc922
https://www.haskell.org/ghc/download_ghc_9_2_2.html
2022-03-09 16:42:07 +01:00
Alexandru Scvortov f386c42a48 nixos/doc: improve wording in "Options Types" and "Option Declarations" 2022-03-05 13:51:37 +00:00
Janne Heß 1def557525
nixos/switch-to-configuration: Document and test socket-activated services 2022-03-03 20:49:20 +01:00
Silvan Mosberger 5cbeddfde4 lib.types: Introduce types.optionType
This type correctly merges multiple option types together while also
annotating them with file information. In a future commit this will be
used for `_module.freeformType`
2022-03-01 19:31:00 +01:00
Janne Heß 0c766a100e lib/options: Throw error for options without a type
Makes all options rendered in the manual throw an error if they don't
have a type specified.

This is a follow-up to #76184

Co-Authored-By: Silvan Mosberger <contact@infinisil.com>
2022-02-28 22:51:41 +01:00
Minijackson 6a96ddb675 pkgs-lib: Implement settings format for Elixir 2022-02-28 07:09:10 -05:00
Silvan Mosberger 665344f148 lib/types: Introduce types.raw for unprocessed values 2022-02-22 15:54:44 +01:00
Maximilian Bosch 4fe5771eee
Merge pull request #154694 from winterqt/nixos-test-log-doc
nixos/doc: fix mention of reading test logs
2022-02-20 15:21:30 +01:00
Janne Heß 8d925cc8db
nixos/doc: Document the activation script
This may be helpful to new module developers, curious users, and people
who just need a reference without having to look at the implementation
2022-02-09 20:44:28 +01:00
Marijan Petričević d590556d5c update docs 2022-01-26 10:46:46 +01:00
Robert Hensing 8919495cac
Merge pull request #156503 from hercules-ci/nixos-add-system.build-options
nixos: Add `system.build.`{`toplevel`,`installBootLoader`}, improve error message
2022-01-25 14:13:24 +01:00
Robert Hensing 48dbe26229 nixos/doc: Document types.unique 2022-01-24 16:31:59 +01:00
Anselm Schüler c008b3d100 nixos/docs/option-declarations: Document mkEnableOption and mkPackageOption
This is a squashed commit. These are the original commit messages:

lib/option: Improve comment

better comment

Update documentation

Updated nixos/doc/manual/development/options-declarations.md with info on mkEnableOption and mkPackageOption.
Updated the comment on mkEnableOption in lib/options.nix

remove trailing whitespace

nixos/doc/option-declarations: Update IDs & formatting

nixos/docs/option-declarations: Escape angle brackets

Build DB from MD

(Amended) Fix typo
Co-authored-by: pennae <82953136+pennae@users.noreply.github.com>

(Amended) Build DB from MD (again)
2022-01-23 19:44:21 +01:00
Winter c772c572cf nixos/doc: fix mention of reading test logs 2022-01-11 20:43:08 -05:00
Jacek Galowicz 048fd95f10
Merge pull request #146905 from Synthetica9/failure_mode
nixos/test-driver: add polling_condition
2022-01-08 18:28:25 +01:00
Patrick Hilhorst 0c3f1cf420
Merge pull request #153273 from Synthetica9/passthru-driverInteractive 2022-01-07 16:04:43 +01:00
Patrick Hilhorst d4dc638d77
nixos/test-driver: also passthru driverInteractive 2022-01-04 14:52:37 +01:00
pennae fc614c37c6 nixos/documentation: split options doc build
most modules can be evaluated for their documentation in a very
restricted environment that doesn't include all of nixpkgs. this
evaluation can then be cached and reused for subsequent builds, merging
only documentation that has changed into the cached set. since nixos
ships with a large number of modules of which only a few are used in any
given config this can save evaluation a huge percentage of nixos
options available in any given config.

in tests of this caching, despite having to copy most of nixos/, saves
about 80% of the time needed to build the system manual, or about two
second on the machine used for testing. build time for a full system
config shrank from 9.4s to 7.4s, while turning documentation off
entirely shortened the build to 7.1s.
2022-01-02 19:46:13 +01:00
Patrick Hilhorst 4e1556ed4d
nixos/test-driver: add polling_condition 2022-01-01 23:17:32 +01:00
Robert Hensing 2a4d433b1f nixosTest: Add xclip as example of stdout blocker 2021-11-06 13:46:51 +01:00
Robert Hensing 698fb089d8 nixosTest: Document stdout waiting behavior 2021-11-05 02:41:25 +01:00
Janne Heß 1640359f33
nixos/test-runner: Fix execute() flakiness
Instead of using the magic string, we now just base64-encode everything
and check for a newline.
2021-10-28 11:51:20 +02:00
Naïm Favier 2ddc335e6f
nixos/doc: clean up defaults and examples 2021-10-04 12:47:20 +02:00
Bobby Rong b8efe91ce2
nixos: nixos/doc/manual/development/writing-modules.xml to CommonMark 2021-09-08 17:57:11 +08:00
Bobby Rong 12a9632ab0
nixos: nixos/doc/manual/devlopment/nixos-tests.xml to CommonMark 2021-09-08 15:47:16 +08:00
Jörg Thalheim 00f361a846
Merge pull request #129074 from bobby285271/pr11
nixos/doc: convert Chapter 57, 59, 60, 63 to CommonMark
2021-09-07 07:15:42 +01:00
Jörg Thalheim c7d32059b1
Merge pull request #129136 from bobby285271/pr14
nixos/doc: convert "Chapter 58. Writing NixOS Modules" to CommonMark
2021-09-07 06:28:57 +01:00
Lassulus 6a74d5562e
Merge pull request #132583 from blaggacao/fix/soft-force-the-file-system-layout-for-boot-media
nixos/boot-media: soft-force entire fs layout
2021-08-17 22:36:41 +02:00