[BREAKING] Switch to virtgpu-based D-Bus tunneling

This introduces support for drag&drop and printing portals, and later
camera/screencasting should be possible as well. However we break
backwards compatibility with already built closures because the
nixosModule needs to be changed.

In the next commit, the runtime environment related services will be
removed from the nixosModule to prevent unnecessary future breakage.
This commit is contained in:
Val Packett 2026-02-27 02:51:07 -03:00
parent e00609ce73
commit 604ebc1356
4 changed files with 30 additions and 23 deletions

View file

@ -1,6 +1,5 @@
{
self,
sidebus,
}:
{
pkgs,
@ -282,16 +281,16 @@ in
Group = "appvm";
};
};
systemd.services.sidebus-agent = {
systemd.services.session-bus-bridge = {
enable = true;
description = "D-Bus session bus";
wantedBy = ["microvm.target"];
requires = ["session-bus.socket" "session-bus.service"];
after = ["session-bus.service"];
serviceConfig = {
ImportCredential = "sidebus.port";
Environment = ["DBUS_SESSION_BUS_ADDRESS=unix:path=${runtimeDir}/dbus.sock"];
ExecStart = "${sidebus.packages.${system}.sidebus-agent}/bin/sidebus-agent";
ExecStartPre = "+/run/current-system/sw/bin/chmod 0666 /dev/dri/card0 /dev/dri/renderD128";
ExecStart = "/opt/bin/muvm-dbusbridge";
User = "appvm";
Group = "appvm";
};