dotfiles/nixos/overlays/fixup-armcord.nix
2024-11-07 16:25:41 -07:00

39 lines
1 KiB
Nix

#
# Fixes armcord to work on wayland.
#
# vim: et:ts=2:sw=2:
#
{ ... }:
let
overlay = final': prev': {
armcord = prev'.armcord.overrideAttrs (prev: {
installPhase = ''
runHook preInstall
mkdir -p "$out/bin"
cp -R "opt" "$out"
cp -R "usr/share" "$out/share"
chmod -R g-w "$out"
# Wrap the startup command
makeWrapper $out/opt/ArmCord/armcord $out/bin/armcord \
"''${gappsWrapperArgs[@]}" \
--prefix XDG_DATA_DIRS : "${prev'.gtk3}/share/gsettings-schemas/${prev'.gtk3.name}/" \
--add-flags "--ozone-platform=wayland --enable-features=WebRTCPipeWireCapturer" \
--prefix LD_LIBRARY_PATH : "${prev'.lib.makeLibraryPath prev.buildInputs}" \
--suffix PATH : ${prev'.lib.makeBinPath [ prev'.xdg-utils ]}
# Fix desktop link
substituteInPlace $out/share/applications/armcord.desktop \
--replace /opt/ArmCord/ $out/bin/
runHook postInstall
'';
});
};
in
{
nixpkgs.overlays = [ overlay ];
}