From 0025e0ec6e81ca9920f09df37d8f15dcd86619f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Na=C3=AFm=20Camille=20Favier?= Date: Sun, 6 Jul 2025 17:54:47 +0200 Subject: [PATCH] discord: add commandLineArgs Adds an option to append arbitrary command-line arguments to the wrapper. This allows fixing an issue with DPI scaling in Electron apps by passing `--force-device-scale-factor=`, like for Chrome and VSCode. --- .../networking/instant-messengers/discord/darwin.nix | 4 +++- .../networking/instant-messengers/discord/linux.nix | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/discord/darwin.nix b/pkgs/applications/networking/instant-messengers/discord/darwin.nix index 46ef6977cc75..179d0651a839 100644 --- a/pkgs/applications/networking/instant-messengers/discord/darwin.nix +++ b/pkgs/applications/networking/instant-messengers/discord/darwin.nix @@ -19,6 +19,7 @@ vencord, withMoonlight ? false, moonlight, + commandLineArgs ? "", }: assert lib.assertMsg ( @@ -64,7 +65,8 @@ stdenv.mkDerivation { # wrap executable to $out/bin mkdir -p $out/bin makeWrapper "$out/Applications/${desktopName}.app/Contents/MacOS/${binaryName}" "$out/bin/${binaryName}" \ - --run ${lib.getExe disableBreakingUpdates} + --run ${lib.getExe disableBreakingUpdates} \ + --add-flags ${lib.escapeShellArg commandLineArgs} runHook postInstall ''; diff --git a/pkgs/applications/networking/instant-messengers/discord/linux.nix b/pkgs/applications/networking/instant-messengers/discord/linux.nix index be1542797e95..dcc952198f5d 100644 --- a/pkgs/applications/networking/instant-messengers/discord/linux.nix +++ b/pkgs/applications/networking/instant-messengers/discord/linux.nix @@ -70,6 +70,7 @@ # The intended use-case for this is when SKIP_HOST_UPDATE is enabled via other means, # for example if a settings.json is linked declaratively (e.g., with home-manager). disableUpdates ? true, + commandLineArgs ? "", }: assert lib.assertMsg ( !(withMoonlight && withVencord) @@ -184,7 +185,8 @@ stdenv.mkDerivation rec { ${lib.strings.optionalString enableAutoscroll "--add-flags \"--enable-blink-features=MiddleClickAutoscroll\""} \ --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \ --prefix LD_LIBRARY_PATH : ${libPath}:$out/opt/${binaryName} \ - ${lib.strings.optionalString disableUpdates "--run ${lib.getExe disableBreakingUpdates}"} + ${lib.strings.optionalString disableUpdates "--run ${lib.getExe disableBreakingUpdates}"} \ + --add-flags ${lib.escapeShellArg commandLineArgs} ln -s $out/opt/${binaryName}/${binaryName} $out/bin/ # Without || true the install would fail on case-insensitive filesystems