Commit Graph

277 Commits

Author SHA1 Message Date
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
lewo
7aa78642c5
Merge pull request #125979 from blaggacao/nixos-test-ref/03-normalse-the-python-entrypoint
nixos/test-driver: normalize the python entrypoint
2021-08-08 10:24:47 +02:00
David Arnold
926fb93968
nixos/tests/test-driver: normalise test driver entrypoint(s)
Previously the driver was configured exclusively through convoluted
environment variables.

Now the driver's defaults are configured through env variables.

Some additional concerns are in the github comments of this PR.
2021-08-05 19:07:11 -05:00
David Arnold
2937038bf3
lib/modules: add mkImageMediaOverride docs 2021-08-05 18:53:59 -05:00
Niklas Hambüchen
fe5f3f65e2 manuals: Describe how to link NixOS tests from packages 2021-07-27 17:39:33 +02:00
Bobby Rong
165d6bd20c nixos: nixos/doc/manual/development/settings-options.xml to CommonMark 2021-07-03 22:20:55 +08:00
Bobby Rong
31be0b922d nixos: nixos/doc/manual/development/freeform-modules.xml to CommonMark 2021-07-03 22:20:55 +08:00
Bobby Rong
a743c6d35a nixos: nixos/doc/manual/development/replace-modules.xml to CommonMark 2021-07-03 22:20:55 +08:00
Bobby Rong
9afb04f765 nixos: nixos/doc/manual/development/importing-modules.xml to CommonMark 2021-07-03 22:20:55 +08:00
Bobby Rong
c085310183 nixos: nixos/doc/manual/development/meta-attributes.xml to CommonMark 2021-07-03 22:20:55 +08:00
Bobby Rong
d48cfce2bf nixos: nixos/doc/manual/development/option-def.xml to CommonMark 2021-07-03 22:20:55 +08:00
Bobby Rong
bfd21cd2c1 nixos: nixos/doc/manual/development/option-types.xml to CommonMark 2021-07-03 22:20:55 +08:00
Bobby Rong
6877012179 nixos: nixos/doc/manual/development/option-declarations.xml to CommonMark 2021-07-03 22:20:55 +08:00
Bobby Rong
1f3d513839 nixos: nixos/doc/manual/development/writing-documentation.xml to CommonMark 2021-07-03 12:09:57 +08:00
Bobby Rong
d80bde37a8 nixos: nixos/doc/manual/development/testing-installer.xml to CommonMark 2021-07-03 12:06:27 +08:00
Bobby Rong
51bf2e175e nixos: nixos/doc/manual/development/building-parts.xml to CommonMark 2021-07-03 12:01:42 +08:00
Bobby Rong
409934a6e5 nixos: nixos/doc/manual/development/sources.xml to CommonMark 2021-07-03 12:00:40 +08:00
Bobby Rong
47fe2c7e93 nixos: nixos/doc/manual/development/running-nixos-tests-interactively.xml to CommonMark 2021-07-02 20:24:02 +08:00
Bobby Rong
8fafcfa3ea nixos: nixos/doc/manual/development/running-nixos-tests.xml to CommonMark 2021-07-02 20:23:38 +08:00
Bobby Rong
163976c296 nixos: nixos/doc/manual/development/writing-nixos-tests.xml to CommonMark 2021-07-02 20:22:58 +08:00
Ryan Mulligan
5707a8efad
Merge pull request #125604 from ryantm/md-assertions
nixos/doc: convert assertions and warnings section to CommonMark
2021-06-11 07:59:04 -07:00
talyz
b7749c7671
nixos/test-driver: Run commands with error handling
Bash's standard behavior of not propagating non-zero exit codes
through a pipeline is unexpected and almost universally
unwanted. Default to setting `pipefail` for the command being run;
it can still be turned off by prefixing the pipeline with
`set +o pipefail` if needed.

Also, set `errexit` and `nonunset` options to make the first command
of consecutive commands separated by `;` fail, and disallow
dereferencing unset variables respectively.
2021-06-05 18:44:42 +02:00
Ryan Mulligan
5058f9a5df nixos/doc: convert assertions and warnings section to CommonMark 2021-06-03 20:12:16 -07:00
Patrick Hilhorst
2871442731
nixos/tests/test-driver: mention drawback 2021-06-02 14:58:51 +02:00
Patrick Hilhorst
9469433e34
nixos/tests/test-driver: document shell_interact 2021-06-02 14:49:59 +02:00
Jonathan Ringer
4d318bcb5a
nixos/doc/releases: remove
No one but release managers need to know this information.
Also, it has been moved to https://github.com/NixOS/release-wiki
2021-05-25 12:36:27 -07:00
Ryan Mulligan
6c14851943 nixos/doc: add md-to-db.sh, convert "Building Your Own NixOS CD" to CommonMark 2021-05-22 18:14:49 -07:00
Silvan Mosberger
b8336c2b8a
formats.ini: Introduce listToValue argument (#121613)
Allows coercing lists to values. E.g.

  formats.ini { listToValue = lib.concatMapStringsSep ", " (lib.generators.mkValueStringDefault {}); }
2021-05-04 09:49:25 +02:00
Luke Granger-Brown
4de343cccf nixos/test-driver: use a variety of different Tesseract settings for OCR
When performing OCR, some of the Tesseract settings perform better than
others on a variety of different workloads, but they mostly take
~negligible incremental time to run compared to the overhead of running
the ImageMagick filters.

After this commit, we try using all three of the current Tesseract
models (classic, LSTM, and classic+LSTM) to generate output text. This
fixes chromium-90's tests at release-20.09, and should make cases where
you're looking for *specific* text better, with the tradeoff of running
Tesseract multiple times.

To make it sensible to cherrypick this into release-20.09, this doesn't
change the existing API surface for the test driver. In particular,
get_screen_text continues to have the existing behaviour.
2021-04-23 18:42:35 +00:00
Symphorien Gibol
7a87973b4c nixos/users: require one of users.users.name.{isSystemUser,isNormalUser}
As the only consequence of isSystemUser is that if the uid is null then
it's allocated below 500, if a user has uid = something below 500 then
we don't require isSystemUser to be set.

Motivation: https://github.com/NixOS/nixpkgs/issues/112647
2021-04-14 20:40:00 +02:00
Robert Hensing
2f7be87a8a nixos/doc: Update Writing Documentation to use nix-shell 2021-03-22 21:21:08 +01:00
Bryan Gardiner
d3ea5a7290
nixos/manual/writing-nixos-tests: document how to disable Black silently 2021-03-10 18:56:52 -08:00
laikq
5c99d24d1e doc: explain where pkgs comes from in writing-modules
The manual mentions how "[config and pkgs] are explained later". Added a link
to where they are explained, and a hint pointing to the NIX_PATH variable.
2021-03-03 11:09:21 -05:00
Silvan Mosberger
9e6737710c Revert "Module-builtin assertions, disabling assertions and submodule assertions" 2020-12-18 16:44:37 +01:00
Silvan Mosberger
767d80099c
lib/modules: Introduce _module.checks.*.check
Previously the .enable option was used to encode the condition as well,
which lead to some oddness:
- In order to encode an assertion, one had to invert it
- To disable a check, one had to mkForce it

By introducing a separate .check option this is solved because:
- It can be used to encode assertions
- Disabling is done separately with .enable option, whose default can be
  overridden without a mkForce
2020-12-17 21:52:24 +01:00
Silvan Mosberger
c9cc8969b4
lib/modules: Rename _module.assertions to _module.checks 2020-11-30 23:51:41 +01:00
Silvan Mosberger
c4fb54e92a
nixos/docs: Update assertion docs for new module-builtin ones 2020-11-30 23:51:23 +01:00
Andreas Rammhold
20893b3a70
nixos/tests: expose both the interactive and non-interactive driver
For a lot of the work the non-interactive drivers are enough and it is
probably a good idea to keep it accessible for debugging without
touching the Nix expression.
2020-10-19 17:39:48 +02:00
Michael Weiss
03ce325365
nixos/doc: Fix one command to build the NixOS manual
This one occurrence wasn't updated:
$ git grep "nix-build nixos/release.nix -A manual"
nixos/doc/manual/README:    nix-build nixos/release.nix -A manual.x86_64-linux
nixos/doc/manual/development/meta-attributes.xml:<screen><prompt>$ </prompt>nix-build nixos/release.nix -A manual</screen>
nixos/doc/manual/development/writing-documentation.xml:<screen>nix-build nixos/release.nix -A manual.x86_64-linux</screen>
2020-10-14 18:10:53 +02:00
Arnout Engelen
31dff5cab8
nixos/doc/manual: add link to nixos-generators (#98925)
From the 'Building your Own NixOS CD' section
2020-09-27 19:59:54 +00:00
Jan Tojnar
e6ce041cae
nixos/doc: Improve code listings
By adding prompts and replaceables and removing unnecessary indentation.
2020-09-23 01:25:25 +02:00
Robert Hensing
f3893d8b53
Merge pull request #97119 from Infinisil/types.anything
Introduce `types.anything`
2020-09-21 08:49:24 +02:00
Philipp Bartsch
eae103c835 nixos/doc: fix dead link 2020-09-19 12:52:14 +02:00
Silvan Mosberger
310699319b
nixos/doc: Add docs for types.anything 2020-09-15 21:08:19 +02:00
Silvan Mosberger
b3810166c7
nixos/doc: Soft deprecate types.attrs 2020-09-15 21:01:04 +02:00
Jan Tojnar
951efe41e1 fixup! nixos/doc/releases: update the docs as promised 2020-09-04 10:59:06 -07:00
worldofpeace
f2e98e8b36 fixup! nixos/doc/releases: update the docs as promised 2020-09-04 10:59:06 -07:00
worldofpeace
d9c33b2ea4 nixos/doc/releases: update the docs as promised
This goes through a recent example of 19.09 (because the workflow
should be everchanging, so our example needs to be recent).
Lots of changes, just read idk.
2020-09-04 10:59:06 -07:00
rnhmjoj
20d491a317
treewide: completely remove types.loaOf 2020-09-02 00:42:50 +02:00
Silvan Mosberger
25d75155f3
nixos/doc: Add freeform modules documentation
Co-Authored-By: Robert Hensing <robert@roberthensing.nl>
2020-08-14 22:49:35 +02:00