dbus service: use makeDBusConf

Changed files
+4 -37
nixos
-5
nixos/modules/services/system/dbus-session-local.conf.in
···
-
<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-Bus Bus Configuration 1.0//EN"
-
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
-
<busconfig>
-
@extra@
-
</busconfig>
···
-6
nixos/modules/services/system/dbus-system-local.conf.in
···
-
<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-Bus Bus Configuration 1.0//EN"
-
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
-
<busconfig>
-
<servicehelper>@servicehelper@</servicehelper>
-
@extra@
-
</busconfig>
···
+4 -26
nixos/modules/services/system/dbus.nix
···
homeDir = "/run/dbus";
-
systemExtraxml = concatStrings (flip concatMap cfg.packages (d: [
-
"<servicedir>${d}/share/dbus-1/system-services</servicedir>"
-
"<includedir>${d}/etc/dbus-1/system.d</includedir>"
-
]));
-
-
sessionExtraxml = concatStrings (flip concatMap cfg.packages (d: [
-
"<servicedir>${d}/share/dbus-1/services</servicedir>"
-
"<includedir>${d}/etc/dbus-1/session.d</includedir>"
-
]));
-
-
configDir = pkgs.runCommand "dbus-conf"
-
{ preferLocalBuild = true;
-
allowSubstitutes = false;
-
}
-
''
-
mkdir -p $out
-
-
sed '${./dbus-system-local.conf.in}' \
-
-e 's,@servicehelper@,${config.security.wrapperDir}/dbus-daemon-launch-helper,g' \
-
-e 's,@extra@,${systemExtraxml},' \
-
> "$out/system-local.conf"
-
-
sed '${./dbus-session-local.conf.in}' \
-
-e 's,@extra@,${sessionExtraxml},' \
-
> "$out/session-local.conf"
-
'';
in
···
homeDir = "/run/dbus";
+
configDir = pkgs.makeDBusConf {
+
suidHelper = "${config.security.wrapperDir}/dbus-daemon-launch-helper";
+
serviceDirectories = cfg.packages;
+
};
in