final: prev: { signal-desktop = prev.signal-desktop.overrideAttrs (oldAttrs: rec { pname = "signal-desktop"; dir = "Signal"; version = "6.21.0"; hash = "sha256-MDjh2slEmGCMn0Q4YsIzVQO2I7ZE5XUJX5qH4OYFFxw="; src = prev.fetchurl { url = "https://updates.signal.org/desktop/apt/pool/main/s/${pname}/${pname}_${version}_amd64.deb"; inherit hash; }; preFixup = '' gappsWrapperArgs+=( --prefix LD_LIBRARY_PATH : "${prev.lib.makeLibraryPath [prev.stdenv.cc.cc]}" --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" --suffix PATH : ${prev.lib.makeBinPath [prev.xdg-utils]} ) # Fix the desktop link substituteInPlace $out/share/applications/${pname}.desktop \ --replace "/opt/${dir}/${pname}" $out/bin/${pname} autoPatchelf --no-recurse -- "$out/lib/${dir}/" patchelf --add-needed ${prev.libpulseaudio}/lib/libpulse.so "$out/lib/${dir}/resources/app.asar.unpacked/node_modules/@signalapp/ringrtc/build/linux/libringrtc-x64.node" ''; }); }