Update sidebus (now reverse-client to a session bus in the guest)
This commit is contained in:
parent
bfb8352c55
commit
20e7e88e07
3 changed files with 22 additions and 13 deletions
6
flake.lock
generated
6
flake.lock
generated
|
|
@ -162,10 +162,10 @@
|
||||||
"rust-overlay": "rust-overlay"
|
"rust-overlay": "rust-overlay"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1764921491,
|
"lastModified": 1764933524,
|
||||||
"narHash": "sha256-bGBcDZCNu9Nq0rKnOQ5SmHMm5j9dPjggSVMI5V5XlJg=",
|
"narHash": "sha256-yland30CesTKgckWiWNMasfotzTspQzVaDqoKbrC4Fo=",
|
||||||
"ref": "main",
|
"ref": "main",
|
||||||
"rev": "ea34b7b08c13ca1e189a6282d0d923181db6cfb0",
|
"rev": "52c3ea7cd36c816e00a6057e91cd945afda177d0",
|
||||||
"shallow": true,
|
"shallow": true,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://git.clan.lol/clan/sidebus"
|
"url": "https://git.clan.lol/clan/sidebus"
|
||||||
|
|
|
||||||
|
|
@ -90,6 +90,8 @@
|
||||||
muvm = self.packages.${system}.muvm;
|
muvm = self.packages.${system}.muvm;
|
||||||
sidebus-broker = sidebus.packages.${system}.sidebus-broker;
|
sidebus-broker = sidebus.packages.${system}.sidebus-broker;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
sidebus-agent = sidebus.packages.${system}.sidebus-agent;
|
||||||
};
|
};
|
||||||
|
|
||||||
devShells.default = pkgs.callPackage ./devShells {
|
devShells.default = pkgs.callPackage ./devShells {
|
||||||
|
|
|
||||||
|
|
@ -174,7 +174,7 @@ in {
|
||||||
PassEnvironment = ["TERM" "MESA_LOADER_DRIVER_OVERRIDE" "MUVM_REMOTE_CONFIG"]; # "KRUN_CONFIG"];
|
PassEnvironment = ["TERM" "MESA_LOADER_DRIVER_OVERRIDE" "MUVM_REMOTE_CONFIG"]; # "KRUN_CONFIG"];
|
||||||
Environment = [
|
Environment = [
|
||||||
"WAYLAND_DISPLAY=wayland-1"
|
"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"
|
"PATH=/run/current-system/sw/bin"
|
||||||
];
|
];
|
||||||
User = "appvm";
|
User = "appvm";
|
||||||
|
|
@ -236,28 +236,35 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.sockets.sidebus-agent = {
|
systemd.sockets.session-bus = {
|
||||||
enable = true;
|
enable = true;
|
||||||
description = "D-Bus cross-domain proxy socket";
|
description = "D-Bus session bus socket";
|
||||||
wantedBy = ["microvm.target"];
|
wantedBy = ["microvm.target"];
|
||||||
partOf = ["sidebus-agent.service"];
|
partOf = ["session-bus.service"];
|
||||||
listenStreams = [ "${runtimeDir}/sidebus.sock" ];
|
listenStreams = [ "${runtimeDir}/dbus.sock" ];
|
||||||
socketConfig = {
|
socketConfig = {
|
||||||
SocketUser = "appvm";
|
SocketUser = "appvm";
|
||||||
SocketGroup = "appvm";
|
SocketGroup = "appvm";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
systemd.services.sidebus-agent = {
|
systemd.services.session-bus = {
|
||||||
enable = true;
|
enable = true;
|
||||||
description = "D-Bus cross-domain proxy";
|
description = "D-Bus session bus";
|
||||||
requires = ["sidebus-agent.socket"];
|
requires = ["session-bus.socket"];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
ImportCredential = "sidebus.port";
|
ImportCredential = "sidebus.port"; # inherited by the activated agent..
|
||||||
ExecStart = "${sidebus.packages.${system}.sidebus-agent}/bin/sidebus-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";
|
User = "appvm";
|
||||||
Group = "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.enable = true;
|
||||||
hardware.graphics.package = self.packages.${system}.mesa;
|
hardware.graphics.package = self.packages.${system}.mesa;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue