Commit Graph
980909 Commits
Author SHA1 Message Date
nixpkgs-ci[bot]andGitHub 2de4c54814 Merge master into staging-nixos 2026-04-15 18:27:15 +00:00
Jacek GalowiczandGitHub b9ca7eaae0 nixos/test-driver: Hide vde switch log messages (#509488) 2026-04-15 18:20:27 +00:00
Jacek GalowiczandGitHub ea044acd82 nixos/test-driver: use vhost-device-vsock for SSH backdoor (#453305) 2026-04-15 18:15:52 +00:00
Austin HorstmanandGitHub 608994ab06 claude-code: 2.1.104 -> 2.1.107 (#509920) 2026-04-15 17:52:54 +00:00
nixpkgs-ci[bot]andGitHub e64c6c13a1 asccli: 1.1.1 -> 1.2.2 (#510289) 2026-04-15 17:49:02 +00:00
Michael Schneider b787cf0ca3 nixos/test-driver: Hide vde switch log messages 2026-04-15 18:43:50 +01:00
Masum RezaandGitHub ee8d23b69a nixos/limine: pass distroName using JSON (#506929) 2026-04-15 17:43:10 +00:00
Gaétan LepageandGitHub a7b5dc6093 python3Packages.jupyter-ydoc: 3.4.0 -> 3.4.1 (#510361) 2026-04-15 17:42:53 +00:00
Austin HorstmanandGitHub 9c2b35e8b9 sketchybar-app-font: 2.0.55 -> 2.0.58 (#509760) 2026-04-15 17:33:25 +00:00
Gaétan LepageandGitHub 2cb401462e python3Packages.pytorch3d: cleanup, fix build with cudaSupport (#510334) 2026-04-15 17:21:11 +00:00
Nikolay KorotkiyandGitHub 1725d1aa0c ttop: 1.5.7 -> 1.6.1 (#510174) 2026-04-15 17:16:50 +00:00
R. Ryantm f4a5cc4db0 python3Packages.jupyter-ydoc: 3.4.0 -> 3.4.1 2026-04-15 17:11:24 +00:00
isabelandGitHub 6fde3c1f9e bluesky-pds: 0.4.208 -> 0.4.219 (#510338) 2026-04-15 17:07:06 +00:00
nixpkgs-ci[bot]andGitHub 3ded3dec5d uhhyou-plugins: 0.69.0 -> 0.70.0 (#509562) 2026-04-15 16:17:40 +00:00
Pascal BachandGitHub d71c1dbfac plexRaw: 1.43.0.10492-121068a07 -> 1.43.1.10611-1e34174b1 (#510318) 2026-04-15 16:14:27 +00:00
Thomas GerbetandGitHub 5691c9c190 rustls-ffi: 0.15.1 -> 0.15.2 (#510312) 2026-04-15 16:09:26 +00:00
R. Ryantm f83a2b8c27 bluesky-pds: 0.4.208 -> 0.4.219 2026-04-15 16:01:48 +00:00
Alyssa RossandGitHub 6b3fb3b76b b4: 0.15.1 -> 0.15.2 (#509897) 2026-04-15 15:54:47 +00:00
Alyssa RossandGitHub 4cd3a0ec79 lib/systems: add ARC cross-compilation target (#510160) 2026-04-15 15:51:26 +00:00
StepBroBDandGitHub 6c20a6f6d9 ocamlPackages.yamlx: init at 0.1.0 (#509853) 2026-04-15 15:46:55 +00:00
StepBroBDandGitHub 9385ddb643 ocamlPackages.mariadb: 1.1.6 → 1.3.0 (#509739) 2026-04-15 15:46:03 +00:00
Maximilian BoschandGitHub f6e3982aa9 php85: 8.5.4 -> 8.5.5 (#510283) 2026-04-15 15:39:49 +00:00
SandroandGitHub b2ddf51cca libutempter: 1.2.1 -> 1.2.3 (#510221) 2026-04-15 15:19:33 +00:00
nixpkgs-ci[bot]andGitHub 82ad77015b worktrunk: 0.34.2 -> 0.37.0 (#509944) 2026-04-15 15:15:38 +00:00
nixpkgs-ci[bot]andGitHub 30a45bd448 kak-tree-sitter-unwrapped: 3.1.3 -> 3.2.0 (#499799) 2026-04-15 15:15:34 +00:00
Masum RezaandGitHub 591dfddc07 vscode: 1.115.0 -> 1.116.0 (#510308) 2026-04-15 15:15:29 +00:00
K900andGitHub e99d2a6969 asusctl: 6.3.6 -> 6.3.7 (#510295) 2026-04-15 15:14:53 +00:00
Bobby RongandGitHub bd7d1b03e7 webkitgtk_6_0: 2.52.1 → 2.52.2 (#510013) 2026-04-15 14:56:40 +00:00
Ryan Horiguchi 609b063a11 plexRaw: 1.43.0.10492-121068a07 -> 1.43.1.10611-1e34174b1 2026-04-15 16:46:33 +02:00
Maximilian Bosch 1987c483d8 nixos/test-driver: use vhost-device-vsock for SSH backdoor
`vhost-device-vsock`[1] is a custom implementation of AF_VSOCK, but the
application on the host-side uses a UNIX domain-socket. This gives us
the following nice properties:

* We don't need to do `--arg sandbox-paths /dev/vhost-vsock` anymore for
  debugging builds within the sandbox. That means, untrusted users can
  also debug these kinds of tests now.

* This prevents CID conflicts on the host-side, i.e. there's no need for
  using `sshBackdoor.vsockOffset` for tests anymore.

A big shout-out goes to Allison Karlitskaya, the developer of test.thing[2]
who talked about this approach to do AF_VSOCK on All Systems Go 2025.

This patch requires systemd 258[3] because this contains `vhost-mux` in
its SSH config which is needed to connect to the VMs from now on.

To not blow up the patches even more, this only uses AF_VSOCK for the
debugger. A potential follow-up for the future would be a removal of the
current `backdoor.service` and replace it entirely by this
functionality.

The internal implementation tries to be consistent with how VLANs and
machines are handled, i.e. the processes are started when the Driver's
context is entered and cleaned up in __exit__().

I decided to push the process management and creation of sockets for
vhost-device-vsock into its own class, that's an implementation detail
and not a concern for the test-driver. In fact, `vhost-device-vsock` is
something we can drop once QEMU implements native support for using
AF_UNIX on the host-side[4]. `VsockPair` is its own class since
returning e.g. a triple of `(Path, Path, Int)` would be ambiguous in
what is the guest and what the host path (and frankly, I found it hard
to distinguish the two when reading the docs of `vhost-device-vsock`
initially).

Finally, now that we can do the SSH backdoor without adding additional
devices to the sandbox, I figured, it's time to write a test-case for
it.

[1] https://github.com/rust-vmm/vhost-device/blob/main/vhost-device-vsock/README.md
[2] https://codeberg.org/lis/test.thing
[3] https://github.com/NixOS/nixpkgs/pull/427968
[4] https://gitlab.com/qemu-project/qemu/-/issues/2095
2026-04-15 15:45:33 +01:00
Maximilian Bosch 9dcf711303 nixos/test-driver: push allocation into the context-manager
The context manager's purpose is to allocate its resources in `__enter__` and
release them again in `__exit__`.

Right now, the approach is merely a hack since we allocate everything in
the constructor, but use the context-manager protocol as way to reliably
terminate everything.

This isn't a functional change, but merely a correctness change by using
the methods the way they were intended.
2026-04-15 15:45:33 +01:00
Maximilian Bosch d406be44b9 nixos/qemu-vm: add enableSharedMemory option
This option configures a memfd backend for the VM's memory with the size
of `virtualisation.memorySize` and uses that as default memory backend.

This is required for e.g. vhost-device-vsock.

The motivation for making this an option is that I decided to enable
this by default for all NixOS tests to avoid changing essential QEMU
options based on whether or not debugging is enabled. However, there
should be an easy way to turn it off which is what this option provides.
2026-04-15 15:45:33 +01:00
Maximilian Bosch 28a450372a nixos/testing: allow setting test-wide warnings and assertions
This allows us to e.g. use `mkRemovedOptionModule` which will come in
handy in the upcoming commits.
2026-04-15 15:45:32 +01:00
Maximilian Bosch 1087cdd48b vhost-device-vsock: init at 0.3.0 2026-04-15 15:45:32 +01:00
JoandGitHub fb455eda6c keepass: use writeText instead of passAsFile (#498514) 2026-04-15 14:35:54 +00:00
JoandGitHub 250efca758 budgie-desktop-with-plugins: use structuredAttrs instead of passAsFile (#498265) 2026-04-15 14:29:06 +00:00
Cosima NeidahlandGitHub 197b8e61c7 vgm2x: Pin to old C standard (#510311) 2026-04-15 14:20:27 +00:00
Azat BahawiandGitHub 8eafa88a5d nelm: 1.21.0 -> 1.23.2 (#510313) 2026-04-15 14:11:18 +00:00
Gaetan Lepage 8cee6dfd22 python3Packages.pytorch3d: cleanup, fix build with cudaSupport 2026-04-15 14:00:47 +00:00
nixpkgs-ci[bot]andGitHub 4a4af0274b mitex: 0.2.6 -> 0.2.7 (#510252) 2026-04-15 13:59:58 +00:00
azahi 02fa1b14fc nelm: 1.21.0 -> 1.23.2 2026-04-15 16:56:11 +03:00
Daniel McCarney d2892e588f rustls-ffi: 0.15.1 -> 0.15.2
This addresses RUSTSEC-2026-0098 and RUSTSEC-2026-0099 by updating
rustls-ffi from 0.15.1 to 0.15.2. See the upstream release notes for
more information.
2026-04-15 09:51:26 -04:00
OPNA2608 afa88a05b3 vgm2x: Pin to old C standard
Tries to typedef bool, which is no longer allowed in current standards.
2026-04-15 15:50:15 +02:00
JoandGitHub 4c8f3d660e python3Packages.gftools: 0.9.994 -> 0.9.995 (#510304) 2026-04-15 13:43:48 +00:00
Philip TaronandGitHub 866fc503da vim: enable fortify when using clang (#506853) 2026-04-15 13:43:47 +00:00
SandroandGitHub ccfff09e1b curl-impersonate: 1.5.1 -> 1.5.2 (#510116) 2026-04-15 13:41:58 +00:00
R. Ryantm b0d6b67397 vscode: 1.115.0 -> 1.116.0 2026-04-15 13:40:50 +00:00
Jacek GalowiczandGitHub c17bc0e1d2 nixos/test-driver: add option to force kvm use (#509553) 2026-04-15 13:31:34 +00:00
R. Ryantm 36d1a77540 python3Packages.gftools: 0.9.994 -> 0.9.995 2026-04-15 13:27:57 +00:00
Henri Menke face395a6f libutempter: 1.2.1 -> 1.2.3
Diff: https://github.com/altlinux/libutempter/compare/1.2.1-alt1...1.2.3-alt1
2026-04-15 15:18:24 +02:00