Janne Heß
b7c62b8238
nixos/systemd-initrd: Remove unit options that don't work
2022-04-01 11:58:30 +02:00
Janne Heß
1e5261f31c
nixos/systemd-lib: Use module composition
2022-04-01 09:57:19 +02:00
Robert Hensing
ecbf5ae27a
nixosTest: Simplify doc by deprecating syntax sugar
2022-03-28 14:11:58 +02:00
Silvan Mosberger
5a67e9db61
Merge pull request #133532 from Infinisil/systemd-unit-dirs
2022-03-25 19:05:35 +01:00
Silvan Mosberger
c70a466d21
nixos/systemd: Allow creation of unit directories
...
This patch allows creation of files like
/etc/systemd/system/user-.slice.d/limits.conf with
systemd.units."user-.slice.d/limits.conf" = {
text = ''
[Slice]
CPUAccounting=yes
CPUQuota=50%
'';
};
which previously threw an error
Also renames the systemd-unit-path test to sytsemd-misc, and extends it to
test that `systemd.units` can handle directories. In this case we make
sure that resource limits specified in user slices apply.
2022-03-25 17:47:44 +01:00
Janne Heß
7d0e21c77e
nixos/test-runner: Allow writing to qemu stdin
2022-03-25 12:08:21 +01:00
Florian Klink
fc91cdb5bc
nixos/lib/systemd-lib.nix: move comment back down to packages
...
https://github.com/NixOS/nixpkgs/pull/164943#discussion_r833215903
2022-03-24 19:03:09 +01:00
Florian Klink
e3083decc4
systemd-initrd, systemd-lib: drop initrdServiceToUnit
...
We can just use serviceToUnit here.
2022-03-24 18:57:16 +01:00
Robert Hensing
ce5a33e62b
Merge pull request #164660 from ncfavier/tests-restrict-arguments
...
nixos/testing: restrict arguments to makeTest
2022-03-24 17:01:47 +01:00
Will Fancher
9828446608
systemd-initrd: Fix Environment= and PATH
2022-03-22 21:28:51 -04:00
Will Fancher
2d4ebf1259
initrd: Optional systemd-based initrd
2022-03-22 21:28:43 -04:00
Viktor Kleen
6d766ae8b7
nixos/test-driver: deduplicate VLANs
...
Naively deduplicate VLANs in the python driver for NixOS tests. The
current implementation accidentally works, since the VLan class mutates
the environment. On construction it sets QEMU_VDE_SOCKET_${id} and this
environment variable gets overwritten once a second VLAN with the same
id is constructed. Because the NIC flags passed to qemu just use the
QEMU_VDE_SOCKET_${id} environment variable, this implicitly chooses a
single vde_switch process for each VLAN.
However, this leads to unusable vde_switch processes being spawned in
each test run and as a side effect makes it impossible to access the
correct VLan objects in the interactive test driver. It also makes it
remarkably hard to understand why the current implementation ever
worked.
2022-03-22 13:16:28 +00:00
Will Fancher
25113740a5
nixos: systemd-lib: Make generateUnits general with default args
2022-03-22 07:02:23 -04:00
Robert Hensing
6c469679f6
Merge remote-tracking branch 'upstream/master' into tests-restrict-arguments
2022-03-21 23:17:17 +01:00
Will Fancher
52c98fc3e9
nixos: systemd: Split unit types into separate module
2022-03-21 10:25:27 -04:00
Naïm Favier
8f57dc38d9
fixup! nixos/testing: restrict arguments to makeTest
2022-03-19 11:51:39 +01:00
Naïm Favier
79a234567c
nixos/testing: restrict arguments to makeTest
...
Disallow passing arbitrary arguments to makeTest since they are not
used; this can help catch mistakes.
2022-03-18 02:44:11 +01: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
Bob van der Linden
9bc093b30a
nixos: systemd: split off helper functions into systemd-lib
2022-03-15 21:52:13 +01: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
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
talyz
b549e7bbb5
genJqSecretsReplacementSnippet: Fix error handling
...
With the previous change that enabled error propagation through
`inherit_errexit`, the script would fail if `errexit` was set, but
`inherit_errexit` was not. This is due to `shopt -p` exiting with an
error if the option is disabled. To work around this, use the exit
code instead of the text value returned by `shopt -p`.
Fixes #160869 .
2022-02-23 12:48:51 +01:00
Daniel Fullmer
24fb872079
nixos/test-driver: fix regression when using legacy start command
...
The aarch64-linux versions of the boot.uefiUsb and boot.uefiCdrom tests
were broken by b0fc9da879
.
That commit was a refactor which omitted the qemuBinary option, which was
previously available in the legacy start command. This restores that
option and fixes the tests previously mentioned.
2022-02-17 18:12:24 -08:00
Janne Heß
fa3c756621
Merge pull request #157329 from helsinki-systems/feat/nixos-reload-triggers
...
nixos/systemd: Implement reload triggers
2022-02-11 23:59:26 +01:00
Janne Heß
b5b3ee4f78
nixos/systemd: Add reloadTriggers to services
2022-02-09 15:14:37 +01:00
Robert Hensing
f86de05ca6
nixos/systemd: Custom error when mixing list/non-list defs
2022-02-08 12:50:06 +01:00
Jonathan Ringer
46fd0afcb3
Merge remote-tracking branch 'origin/master' into staging-next
...
Conflicts:
pkgs/development/python-modules/pysdl2/default.nix
pkgs/top-level/aliases.nix
2022-02-06 18:36:59 -08:00
Robert Hensing
8403e02a5d
Merge pull request #126769 from ncfavier/nixosSystem-lib
...
nixos: move default module location logic to `eval-config.nix`
2022-02-06 22:49:17 +01:00
Jonathan Ringer
c6c7162876
Merge remote-tracking branch 'origin/staging-next' into staging
2022-02-03 21:34:17 -08:00
Jonathan Ringer
9a16965c75
Merge remote-tracking branch 'origin/staging-next' into staging
...
Conflicts:
pkgs/development/python-modules/awesomeversion/default.nix
pkgs/development/python-modules/md2gemini/default.nix
pkgs/development/python-modules/mill-local/default.nix
pkgs/development/python-modules/pyatv/default.nix
pkgs/development/python-modules/pyezviz/default.nix
pkgs/development/python-modules/pyinsteon/default.nix
pkgs/development/python-modules/pylitterbot/default.nix
pkgs/development/python-modules/pynuki/default.nix
pkgs/development/python-modules/pypck/default.nix
pkgs/development/python-modules/types-requests/default.nix
pkgs/top-level/aliases.nix
2022-02-03 21:29:24 -08:00
Kim Lindberger
415b9c3b5a
Merge pull request #157519 from talyz/gitlab-error-handling
...
nixos/gitlab: Implement better script error handling
2022-02-03 22:19:03 +01:00
Lassulus
b80607af67
Merge pull request #154804 from Mic92/tests-prompt
...
nixos/tests: add prompt to shell_interact()
2022-02-02 18:50:46 +01:00
github-actions[bot]
aee8ca6639
Merge staging-next into staging
2022-02-01 00:02:21 +00:00
Guillaume Girol
d6f45aa6c3
Merge pull request #152372 from symphorien/systemd-validate-after
...
nixos/systemd: validate the values of systemd.services.<name>.after
2022-01-31 20:57:13 +00:00
talyz
95069d76d3
genJqSecretsReplacementSnippet: Propagate secret file read errors
...
If an error occurs while trying to read a secret file, we want that
error to propagate to the main shell context. That means we have to
set the `inherit_errexit` option, which allows errors from subshells
to propagate to the outer shell. Also, the subshell cannot run as part
of another command, such as `export`, since that will simply ignore
the subshell exit status and only respect `export`s exit status; first
assigning the value to a variable and then exporting it solves issue.
2022-01-31 12:44:54 +01:00
Jan Tojnar
2da5ce4ab3
Merge branch 'staging-next' into staging
...
; Conflicts:
; pkgs/development/python-modules/fakeredis/default.nix
2022-01-28 14:05:11 +01:00
Naïm Favier
5ab62e17b5
nixos: move default module location logic to eval-config.nix
2022-01-27 22:13:35 +01:00
Daniel Olsen
68e9cd0f7e
nixos/lib: Use SingleLineStr in systemd description
2022-01-27 12:56:36 -08:00
Dmitry Kalinkin
0693fd77f7
Merge branch 'staging-next' into staging
...
Conflicts:
nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
nixos/doc/manual/release-notes/rl-2205.section.md
pkgs/development/python-modules/aioesphomeapi/default.nix
pkgs/development/python-modules/mat2/default.nix
pkgs/development/python-modules/pydevccu/default.nix
pkgs/development/python-modules/pywlroots/default.nix
pkgs/development/python-modules/rokuecp/default.nix
2022-01-27 00:54:10 -05:00
Patrick Hilhorst
23c87e7991
nixos/testing-python: actually copy build artefacts
...
This broke in #156858 .
2022-01-26 22:26:19 +01:00
Marijan Petričević
411bb3c35f
add --no-interactive flag
2022-01-26 11:27:01 +01:00
Marijan Petričević
44830dc048
use lib.optionalString
2022-01-26 10:46:46 +01:00
Marijan Petričević
75de3397fd
nixos/tests: fix #146169
2022-01-26 10:46:45 +01:00
Marijan Petričević
446c21fdc7
factor out tmp-dir checks
2022-01-25 11:31:25 +01:00
Marijan Petričević
03c90974a7
add tmp_dir access check
2022-01-25 11:14:57 +01:00
Marijan Petričević
e17fcbc966
introduce writeable_dir argparse type
2022-01-25 10:21:33 +01:00
Marijan Petričević
7765670c8a
make output_directory an optional parameter
2022-01-25 01:18:52 +01:00
Marijan Petričević
f9b5f9dba7
nixos/test-driver: use an argument instead of the out env-var
2022-01-25 01:17:29 +01:00
Alyssa Ross
1a60dd2adc
Merge remote-tracking branch 'nixpkgs/staging-next' into staging
...
Conflicts:
pkgs/development/python-modules/cupy/default.nix
pkgs/development/python-modules/staticjinja/default.nix
2022-01-24 15:39:34 +00:00
Samuel Dionne-Riel
18ebd1c330
Merge pull request #153409 from tpwrules/fix-nonx86-iso-reproducibility
...
installer/cd-dvd/iso-image: avoid leaking build timestamps on non-x86
2022-01-23 21:15:26 -05:00
github-actions[bot]
aeb6db8171
Merge staging-next into staging
2022-01-20 18:01:55 +00:00
Alyssa Ross
464d6108b0
Revert "qemu, runInLinuxVM: change default cpu to qemu64"
...
This reverts commit af180d554b
.
The bug we were working around with this change has been fixed in QEMU
6.2.0.
2022-01-20 15:29:33 +00:00
Robert Hensing
98ae5a9298
Merge pull request #153211 from hercules-ci/minimal-nixos
...
Add minimal NixOS entrypoint
2022-01-20 14:42:46 +01:00
Jörg Thalheim
f472e52aa6
nixos/tests: add prompt to shell_interact()
...
Example session:
>>> start_all()
>>> machines[0].shell_interact()
client: waiting for the VM to finish booting
client: connected to guest root shell
client: (connecting took 0.00 seconds)
(finished: waiting for the VM to finish booting, in 0.05 seconds)
client: Terminal is ready (there is no initial prompt):
$ ls -la
total 39
drwxrwxrwt 11 root root 4096 Jan 15 06:06 .
drwxr-xr-x 17 root root 4096 Jan 15 06:06 ..
drwxrwxrwt 2 root root 4096 Jan 15 06:06 .font-unix
drwxrwxrwt 2 root root 4096 Jan 15 06:06 .ICE-unix
drwx------ 2 root root 2 Jan 12 20:19 shared
drwx------ 3 root root 4096 Jan 15 06:06 systemd-private-b8f21699ea684491926859758de41975-nscd.service-txgYVZ
drwx------ 3 root root 4096 Jan 15 06:06 systemd-private-b8f21699ea684491926859758de41975-systemd-logind.service-U3GmlL
drwxrwxrwt 2 root root 4096 Jan 15 06:06 .Test-unix
drwxrwxrwt 2 root root 4096 Jan 15 06:06 .X11-unix
drwxr-xr-x 2 root root 2 Jan 15 06:06 xchg
drwxrwxrwt 2 root root 4096 Jan 15 06:06 .XIM-unix
2022-01-15 07:07:06 +01:00
Robert Hensing
2bf5958169
Merge pull request #151082 from hercules-ci/nixos-cleanup-vmWithBootLoader
...
nixos: turn vmWithBootLoader into option (`nixos-rebuild build-vm`)
2022-01-14 18:49:27 +01:00
Robert Hensing
3168017b90
nixos/lib: Clarify that nixos.evalModules impl is NOT experimental
2022-01-10 12:36:57 +01:00
Robert Hensing
d3f956aba3
nixos/lib: Add featureFlags, use it for minimal modules
2022-01-10 12:36:57 +01:00
Robert Hensing
25caf736d5
nixos/eval-config: Layer on top of nixos/eval-config-minimal
2022-01-10 12:26:59 +01:00
Robert Hensing
e31e096b66
nixos/lib: Move evalModules into its own file
2022-01-10 12:26:59 +01:00
Zhaofeng Li
9e97ef794a
lib/qemu-common: Add serial device name for RISC-V
2022-01-09 15:29:52 -08:00
github-actions[bot]
b40a01817b
Merge master into staging-next
2022-01-08 18:01:00 +00: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
Jonathan Ringer
86f9a32c4c
Merge remote-tracking branch 'origin/master' into staging-next
...
Conflicts:
pkgs/development/python-modules/hydra/default.nix
2022-01-07 10:31:29 -08:00
Patrick Hilhorst
0c3f1cf420
Merge pull request #153273 from Synthetica9/passthru-driverInteractive
2022-01-07 16:04:43 +01:00
Robert Hensing
fbd038eca2
nixos/lib: init (experimental)
2022-01-07 01:21:07 +01:00
Thomas Watson
450ce00ec4
installer/cd-dvd/iso-image: avoid leaking build timestamps on non-x86
2022-01-05 12:05:15 -06:00
github-actions[bot]
89a0a771b6
Merge master into staging-next
2022-01-05 00:01:52 +00:00
Patrick Hilhorst
d4dc638d77
nixos/test-driver: also passthru driverInteractive
2022-01-04 14:52:37 +01:00
Patrick Hilhorst
793a2f50f1
nixos/test-driver: remove unused imports, add pylint unused-import check
2022-01-02 23:12:21 +01:00
Patrick Hilhorst
a2f5092867
nixos/test-driver: simplify logic, reduce interaction surface
2022-01-02 22:52:17 +01:00
Patrick Hilhorst
7830f000c5
nixos/test-driver: simplify coopmulti
2022-01-02 22:20:04 +01:00
pennae
50954ad1c5
nixos/make-options-doc: treat missing descriptions as errors by default
...
this partially solves the problem of "missing description" warnings of the
options doc build being lost by nix build, at the cost of failing builds that
previously ran. an option to disable this behaviour is provided.
2022-01-02 19:46:13 +01:00
pennae
1301bdb185
nixos/make-options-doc: turn relatedPackages into links
...
link to search.nixos.org instead of pulling package metadata out of pkgs. this
lets us cache docs of a few more modules and provides easier access to package
info from the HTML manual, but makes the manpage slightly less useful since
package description are no longer rendered.
2022-01-02 19:46:13 +01:00
pennae
b92a47c87c
nixos/make-options-doc: add type annotations to mergeJSON.py
2022-01-02 19:46:13 +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
ac6c06c549
nixos/test-driver: bump version
2022-01-01 23:17:37 +01:00
Patrick Hilhorst
4e1556ed4d
nixos/test-driver: add polling_condition
2022-01-01 23:17:32 +01:00
github-actions[bot]
129083edcf
Merge master into staging-next
2021-12-29 06:01:11 +00:00
Julien Moutinho
8b842173d0
nixos/make-options-doc: fix invalid ':' in XML NCName (non-colonized name)
2021-12-28 22:18:16 -05:00
Guillaume Girol
2a37dd8ab3
nixos/systemd: validate the values of systemd.services.<name>.after
...
and similar option. Notably check that they end with one of .service,
.target, etc.
2021-12-27 12:00:00 +00:00
wucke13
121e2f7e15
honor sdImage.compressImage in intermediate build steps
2021-12-21 21:31:44 +01:00
Robert Hensing
9fd9c617a9
nixos/lib/eval-config.nix: Return all of evalModules return attrs
...
We were exposing everything pointwise anyway.
If any new attrs are added, there's a good chance we'll want to
expose them anyway.
2021-12-17 14:07:47 +01:00
Robert Hensing
8fd49c116b
nixos/default.nix: Use extendModules
2021-12-17 13:17:37 +01:00
github-actions[bot]
a292b5fe68
Merge staging-next into staging
2021-12-14 12:02:00 +00:00
pennae
a70b1eb630
nixos/lib/make-options-doc: fix with nix 2.3
2021-12-14 03:41:09 +01:00
Dmitry Kalinkin
07a8ae0c5a
Merge branch 'staging-next' into staging
...
Conflicts:
pkgs/development/libraries/log4cplus/default.nix
2021-12-11 14:01:19 -05:00
Jacek Galowicz
b6bf1ca717
Merge pull request #149329 from marijanp/test-driver-restructuring
...
nixos/test-driver: make the test-driver a python package
2021-12-10 18:41:49 +00:00
Marijan Petričević
ab693de868
nixos/test-driver: make the test-driver a python package
2021-12-10 12:27:45 +00:00
Silvan Mosberger
2f2b60dd87
lib/nixos/eval-config.nix: Fix extraArgs
...
Fixes a mistake in https://github.com/NixOS/nixpkgs/pull/148315 that
caused https://github.com/NixOS/nixpkgs/issues/148343#issuecomment-990881216
2021-12-10 12:55:30 +01:00
Silvan Mosberger
15c41e1d54
Merge pull request #147265 from pennae/option-docs-build
...
put all option docs build flavors on equal footing
2021-12-08 21:27:02 +01:00
Artturi
3fe92b45cb
Merge pull request #149665 from Artturin/squashfscores
2021-12-08 20:20:32 +02:00
Artturin
eea6baad50
make-squashfs: use $NIX_BUILD_CORES or 48 cores if above 48
...
by default all cores are used
hoping this will fix the hydra i686 squashfs build issues as all the
failures were using 64 cores
Parallel mksquashfs: Using 64 processors
Creating 4.0 filesystem on ..., block size 1048576.
FATAL ERROR: mangle2:: xz compress failed with error code 5
2021-12-08 19:23:31 +02:00
ajs124
eee45bb295
Merge pull request #146815 from ElvishJerricco/systemd-utils-expressions
...
Move systemd-lib.nix and systemd-unit-options.nix into utils
2021-12-08 15:07:28 +00:00
Silvan Mosberger
490d46f044
Merge pull request #148315 from hercules-ci/nixos-evalModules-legacy-cleanup
...
NixOS/evalModules legacy cleanup
2021-12-07 18:30:52 +01:00
pennae
027f7e1b7f
nixos/lib/make-options-doc: generate options.xml from options.json
...
to do this we must replace derivations with attrsets in make-options-doc, since
xml can represent derivations differently from attrset but json cannot. this
also given asciidoc and mddoc the ability to handle derivation differently,
which they previously didn't have.
2021-12-06 16:12:32 +01:00
pennae
9b97a2ea88
nix/lib/make-options-doc: remove nix-level sorting
...
there are no remaining users of sorted option lists except the docbook build,
which sorts its input separately.
2021-12-06 16:12:32 +01:00
pennae
4670400309
nixos/lib/make-options-doc: generate asciidoc/md in derivations
...
use the json file derivation we already have to also generate the asciidoc and
md options docs instead of formatting the options in nix. docbook docs are
already produced in derivations.
the new script produce the exact same output as the old in-nix generation.
2021-12-06 16:12:30 +01:00
Artturin
60422ba2ea
nixos/test-driver: add 10ms delay to send_key
...
attempt to fix https://github.com/NixOS/nixpkgs/issues/147294
2021-12-03 20:04:56 +02:00
Robert Hensing
78ada83361
nixos/eval-config: Deprecate extraArgs and check parameters
2021-12-02 18:23:43 +00:00