diff --git a/modules/targets/generic-linux/nixgl.nix b/modules/targets/generic-linux/nixgl.nix index 5b50eb31..c1882d5a 100644 --- a/modules/targets/generic-linux/nixgl.nix +++ b/modules/targets/generic-linux/nixgl.nix @@ -274,6 +274,26 @@ in sed "s|${pkg.out}|$out|g" "$src" > "$dsk" done + # Patch systemd user services + for svc in "$out/share/systemd/user"/*.service ; do + if ! grep -q "${pkg.out}" "$svc"; then + continue + fi + src="$(readlink "$svc")" + rm "$svc" + sed "s|${pkg.out}|$out|g" "$src" > "$svc" + done + + # Patch DBus services + for svc in "$out/share/dbus-1/services"/*.service ; do + if ! grep -q "${pkg.out}" "$svc"; then + continue + fi + src="$(readlink "$svc")" + rm "$svc" + sed "s|${pkg.out}|$out|g" "$src" > "$svc" + done + shopt -u nullglob # Revert nullglob back to its normal default state ''; }))