Commit graph

354 commits

Author SHA1 Message Date
nikstur 996cf6ac56 nixos/docs: add non-switchable-systems section 2023-10-28 13:26:33 +02:00
github-actions[bot] cfc75eec46
Merge master into staging-next 2023-10-20 18:00:54 +00:00
Janne Heß a1012b2160
nixos/switch-to-configuration: Allow not filtering units 2023-10-20 15:45:43 +02:00
Artturin 3342d1a9a9 Merge branch 'master' into staging-next 2023-10-20 09:29:36 +03:00
Martin Weinelt d042a29613
Merge pull request #253764 from linj-fork/fix-ping-wrapper
nixos/network-interfaces: stop wrapping ping with cap_net_raw
2023-10-20 00:57:55 +02:00
github-actions[bot] 25bcfa6c2f
Merge master into staging-next 2023-10-19 12:01:00 +00:00
Michael Schneider c22fed2281
nixos/doc/manual/development/writing-documentation.xml: fix build command (#262044) 2023-10-19 13:43:03 +02:00
Alyssa Ross 1bb67a90ba
Merge remote-tracking branch 'origin/master' into staging-next
Conflicts:
	pkgs/development/python-modules/bambi/default.nix
	pkgs/development/python-modules/jaxopt/default.nix
2023-10-12 09:08:12 +00:00
Silvan Mosberger 2f01d20202
Merge pull request #259927 from asymmetric/no-docbook-in-manual
nixos/manual: no DocBook for mkPackageOption
2023-10-12 03:27:21 +02:00
github-actions[bot] 0efc5df650
Merge master into staging-next 2023-10-10 12:01:29 +00:00
Doron Behar 3c34a1a464 nixos/doc/mkOptionType: small typo fix 2023-10-09 23:38:32 +03:00
Lorenzo Manacorda afb15c6513 nixos/manual: no DocBook for mkPackageOption
`mkPackageOptionMD` is now an alias of `mkPackageOption`, and the transition
from DocBook to CommonMark has been completed.
2023-10-09 08:54:29 +02:00
pennae d793c3b8b0 manual: fix parsing differences for markdown-it-py 3
version 3 now recognizes these replacements as escaped, but neither look
like they should be.
2023-09-27 15:35:23 +02:00
Janne Heß 85c1c30fd9
nixos/switch-to-configuration: Never unmount / or /nix
Also adds a huge test for fstab handling
2023-09-22 10:26:10 +02:00
Lin Jian 759ec1113d
nixos/network-interfaces: stop wrapping ping with cap_net_raw
From systemd 243 release note[1]:

This release enables unprivileged programs (i.e. requiring neither
setuid nor file capabilities) to send ICMP Echo (i.e. ping) requests
by turning on the "net.ipv4.ping_group_range" sysctl of the Linux
kernel for the whole UNIX group range, i.e. all processes.

So this wrapper is not needed any more.

See also [2] and [3].

This patch also removes:
- apparmor profiles in NixOS for ping itself and the wrapped one
- other references for the wrapped ping

[1]: 8e2d9d40b3/NEWS (L6457-L6464)
[2]: https://github.com/systemd/systemd/pull/13141
[3]: https://fedoraproject.org/wiki/Changes/EnableSysctlPingGroupRange
2023-09-21 16:52:16 +08:00
Janne Heß eb831f759b
nixos/stc: Improve mount unit handling
We should sometimes restart the units rather than reloading them so the
changes are actually applied. / and /nix are explicitly excluded because
there was some very old issue where these were unmounted. I don't think
this will affect many people since most people use fstab mounts instead
but I plan to adapt this behavior for fstab mounts as well in the future
(once I wrote a test for the fstab thingies).
2023-08-21 09:07:14 +02:00
Jacek Galowicz 846ad444c7 integration test driver: Auto-generate integration test driver's machine
method documentation of nixos docs from python doc strings
2023-07-10 08:51:52 +02:00
Naïm Favier 14d3e5685a
lib/types: add pathInStore 2023-06-27 11:48:08 +02:00
Victor Engmark b4e403f9e0 nixos/doc: Split mkdir mode into chmod command for clarity
As recommended by ShellCheck
<https://github.com/koalaman/shellcheck/wiki/SC2174>.
2023-06-09 09:24:33 +12:00
Robert Hensing 16d594a0e2 lib.types.pkgs: init
A nominal type.
2023-05-10 15:55:08 +02:00
Jacek Galowicz 3ba45b082e
Merge pull request #228111 from alyssais/nixosTest-hostname
nixosTest: remove hostname limitations
2023-05-05 08:12:36 +02:00
pennae 407f6196a2 nixos-render-docs: add examples support
the nixos manual contains enough examples to support them as a proper
toc entity with specialized rendering, and if in the future the nixpkgs
wants to use nixos-render-docs we will definitely have to support them.
this also allows us to restore some examples that were lost in previous
translation steps because there were too few to add renderer support
back then.
2023-05-03 19:58:21 +02:00
Robert Hensing 3ec3d283c5 nixos/tests: extra-python-packages -> nixos-test-driver/extra-python-packages
Categorizing the tests for the test driver helps with testing the test driver.
2023-04-25 12:03:15 +02:00
Alyssa Ross d6e84a4574
nixosTest: remove hostname limitations 2023-04-25 08:55:30 +00:00
Robert Hensing 6b79fe8cdc
Merge pull request #211855 from hercules-ci/lib-modules-disabledModules-module-with-key
lib/modules: Allow an "anonymous" module with key in disabledModules
2023-03-09 16:16:37 +01:00
Robert Hensing 118bdf25a6 lib/modules: Allow an "anonymous" module with key in disabledModules
This makes the following work

    disabledModules = [ foo.nixosModules.bar ];

even if `bar` is not a path, but rather a module such as

    { key = "/path/to/foo#nixosModules.bar"; config = ...; }

By supporting this, the user will often be able to use the same syntax
for both importing and disabling a module. This is becoming more relevant
because flakes promote the use of attributes to reference modules. Not
all of these modules in flake attributes will be identifiable, but with
the help of a framework such as flake-parts, these attributes can be
guaranteed to be identifiable (by outPath + attribute path).
2023-03-01 15:03:44 +01:00
Anselm Schüler 9769e90233 lib/options: Add more options to mkPackageOption 2023-02-26 03:00:22 +01:00
Robert Hensing 9964891440 nixos/doc: Add Developing the Test Driver 2023-02-17 18:06:02 +01:00
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