Update sidebus (now reverse-client to a session bus in the guest)

This commit is contained in:
Val Packett 2025-12-05 05:00:37 -03:00
parent bfb8352c55
commit 20e7e88e07
3 changed files with 22 additions and 13 deletions

View file

@ -174,7 +174,7 @@ in {
PassEnvironment = ["TERM" "MESA_LOADER_DRIVER_OVERRIDE" "MUVM_REMOTE_CONFIG"]; # "KRUN_CONFIG"];
Environment = [
"WAYLAND_DISPLAY=wayland-1"
"DBUS_SESSION_BUS_ADDRESS=unix:path=${runtimeDir}/sidebus.sock"
"DBUS_SESSION_BUS_ADDRESS=unix:path=${runtimeDir}/dbus.sock"
"PATH=/run/current-system/sw/bin"
];
User = "appvm";
@ -236,28 +236,35 @@ in {
};
};
systemd.sockets.sidebus-agent = {
systemd.sockets.session-bus = {
enable = true;
description = "D-Bus cross-domain proxy socket";
description = "D-Bus session bus socket";
wantedBy = ["microvm.target"];
partOf = ["sidebus-agent.service"];
listenStreams = [ "${runtimeDir}/sidebus.sock" ];
partOf = ["session-bus.service"];
listenStreams = [ "${runtimeDir}/dbus.sock" ];
socketConfig = {
SocketUser = "appvm";
SocketGroup = "appvm";
};
};
systemd.services.sidebus-agent = {
systemd.services.session-bus = {
enable = true;
description = "D-Bus cross-domain proxy";
requires = ["sidebus-agent.socket"];
description = "D-Bus session bus";
requires = ["session-bus.socket"];
serviceConfig = {
ImportCredential = "sidebus.port";
ExecStart = "${sidebus.packages.${system}.sidebus-agent}/bin/sidebus-agent";
ImportCredential = "sidebus.port"; # inherited by the activated agent..
ExecStart = "${pkgs.dbus}/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --syslog-only"; # no systemd activation, we don't run a *session* systemd
User = "appvm";
Group = "appvm";
};
};
services.dbus.packages = [
(pkgs.writeTextDir "/share/dbus-1/services/org.freedesktop.portal.Desktop.service" ''
[D-BUS Service]
Name=org.freedesktop.portal.Desktop
Exec=${sidebus.packages.${system}.sidebus-agent}/bin/sidebus-agent
'')
];
hardware.graphics.enable = true;
hardware.graphics.package = self.packages.${system}.mesa;