14 rustPlatform.buildRustPackage rec {
15 pname = "xwayland-satellite";
18 src = fetchFromGitHub {
20 repo = "xwayland-satellite";
21 rev = "refs/tags/v${version}";
22 hash = "sha256-nq7bouXQXaaPPo/E+Jbq+wNHnatD4dY8OxSrRqzvy6s=";
26 substituteInPlace resources/xwayland-satellite.service \
27 --replace-fail '/usr/local/bin' "$out/bin"
30 cargoHash = "sha256-KnkU+uLToD0cBNgPnRiR34XHIphQWoATjim1E/MVf48=";
35 rustPlatform.bindgenHook
43 buildNoDefaultFeatures = true;
44 buildFeatures = lib.optional withSystemd "systemd";
46 # All integration tests require a running display server
49 postInstall = lib.optionalString withSystemd ''
50 install -Dm0644 resources/xwayland-satellite.service -t $out/lib/systemd/user
54 wrapProgram $out/bin/xwayland-satellite \
55 --prefix PATH : "${lib.makeBinPath [ xwayland ]}"
58 passthru.updateScript = nix-update-script { };
61 description = "Xwayland outside your Wayland compositor";
63 Grants rootless Xwayland integration to any Wayland compositor implementing xdg_wm_base.
65 homepage = "https://github.com/Supreeeme/xwayland-satellite";
66 changelog = "https://github.com/Supreeeme/xwayland-satellite/releases/tag/v${version}";
67 license = lib.licenses.mpl20;
68 maintainers = with lib.maintainers; [
73 mainProgram = "xwayland-satellite";
74 platforms = lib.platforms.linux;