diff options
author | Wout Mertens <Wout.Mertens@gmail.com> | 2021-11-27 01:54:14 +0100 |
---|---|---|
committer | Wout Mertens <Wout.Mertens@gmail.com> | 2022-01-27 09:46:36 +0100 |
commit | b2eb5f62a7fd94ab58acafec9f64e54f97c508a6 (patch) | |
tree | 5e0da9b66e9b8751795208922e6a56c8cf353691 /pkgs/applications/networking | |
parent | e722007bf05802573b41701c49da6c8814878171 (diff) | |
download | nixpkgs-b2eb5f62a7fd94ab58acafec9f64e54f97c508a6.tar nixpkgs-b2eb5f62a7fd94ab58acafec9f64e54f97c508a6.tar.gz nixpkgs-b2eb5f62a7fd94ab58acafec9f64e54f97c508a6.tar.bz2 nixpkgs-b2eb5f62a7fd94ab58acafec9f64e54f97c508a6.tar.lz nixpkgs-b2eb5f62a7fd94ab58acafec9f64e54f97c508a6.tar.xz nixpkgs-b2eb5f62a7fd94ab58acafec9f64e54f97c508a6.tar.zst nixpkgs-b2eb5f62a7fd94ab58acafec9f64e54f97c508a6.zip |
wayland: enable ozone via $NIXOS_OZONE_WL
Chrome, Chromium, VSCode, Slack, Signal, Discord, element-desktop, schildichat. For the latter two, the feature flag useWayland was removed and a wrapper script was provided.
Diffstat (limited to 'pkgs/applications/networking')
7 files changed, 28 insertions, 23 deletions
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix index c4521c89caa..f296da05c31 100644 --- a/pkgs/applications/networking/browsers/chromium/default.nix +++ b/pkgs/applications/networking/browsers/chromium/default.nix @@ -183,7 +183,8 @@ in stdenv.mkDerivation { mkdir -p "$out/bin" eval makeWrapper "${browserBinary}" "$out/bin/chromium" \ - --add-flags ${escapeShellArg (escapeShellArg commandLineArgs)} + --add-flags ${escapeShellArg (escapeShellArg commandLineArgs)} \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland}}" ed -v -s "$out/bin/chromium" << EOF 2i diff --git a/pkgs/applications/networking/browsers/google-chrome/default.nix b/pkgs/applications/networking/browsers/google-chrome/default.nix index e93ea8ca66d..b0fc87a1801 100644 --- a/pkgs/applications/networking/browsers/google-chrome/default.nix +++ b/pkgs/applications/networking/browsers/google-chrome/default.nix @@ -142,8 +142,9 @@ in stdenv.mkDerivation { makeWrapper "$out/share/google/$appname/google-$appname" "$exe" \ --prefix LD_LIBRARY_PATH : "$rpath" \ --prefix PATH : "$binpath" \ - --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH:${addOpenGLRunpath.driverLink}/share" \ - --add-flags ${escapeShellArg commandLineArgs} + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \ + --add-flags ${escapeShellArg commandLineArgs} \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland}}" for elf in $out/share/google/$appname/{chrome,chrome-sandbox,${crashpadHandlerBinary},nacl_helper}; do patchelf --set-rpath $rpath $elf diff --git a/pkgs/applications/networking/instant-messengers/discord/linux.nix b/pkgs/applications/networking/instant-messengers/discord/linux.nix index 866b2889094..c9e642aceb9 100644 --- a/pkgs/applications/networking/instant-messengers/discord/linux.nix +++ b/pkgs/applications/networking/instant-messengers/discord/linux.nix @@ -80,6 +80,7 @@ stdenv.mkDerivation rec { wrapProgram $out/opt/${binaryName}/${binaryName} \ "''${gappsWrapperArgs[@]}" \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland}}" \ --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \ --prefix LD_LIBRARY_PATH : ${libPath}:$out/opt/${binaryName} diff --git a/pkgs/applications/networking/instant-messengers/element/element-desktop.nix b/pkgs/applications/networking/instant-messengers/element/element-desktop.nix index 1a0c25c606b..5ba7a1f7b20 100644 --- a/pkgs/applications/networking/instant-messengers/element/element-desktop.nix +++ b/pkgs/applications/networking/instant-messengers/element/element-desktop.nix @@ -12,8 +12,6 @@ , Security , AppKit , CoreServices - -, useWayland ? false }: let @@ -82,7 +80,8 @@ mkYarnPackage rec { # LD_PRELOAD workaround for sqlcipher not found: https://github.com/matrix-org/seshat/issues/102 makeWrapper '${electron_exec}' "$out/bin/${executableName}" \ --set LD_PRELOAD ${sqlcipher}/lib/libsqlcipher.so \ - --add-flags "$out/share/element/electron${lib.optionalString useWayland " --enable-features=UseOzonePlatform --ozone-platform=wayland"}" + --add-flags "$out/share/element/electron" \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland}}" ''; # Do not attempt generating a tarball for element-web again. diff --git a/pkgs/applications/networking/instant-messengers/schildichat/schildichat-desktop.nix b/pkgs/applications/networking/instant-messengers/schildichat/schildichat-desktop.nix index 4e1d330f500..f16c7b599e4 100644 --- a/pkgs/applications/networking/instant-messengers/schildichat/schildichat-desktop.nix +++ b/pkgs/applications/networking/instant-messengers/schildichat/schildichat-desktop.nix @@ -7,13 +7,13 @@ , makeDesktopItem , copyDesktopItems , fetchYarnDeps -, yarn, nodejs, fixup_yarn_lock +, yarn +, nodejs +, fixup_yarn_lock , electron , Security , AppKit , CoreServices - -, useWayland ? false }: let @@ -88,7 +88,8 @@ stdenv.mkDerivation rec { # executable wrapper makeWrapper '${electron_exec}' "$out/bin/${executableName}" \ - --add-flags "$out/share/element/electron${lib.optionalString useWayland " --enable-features=UseOzonePlatform --ozone-platform=wayland"}" + --add-flags "$out/share/element/electron" \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland}}" runHook postInstall ''; @@ -101,17 +102,17 @@ stdenv.mkDerivation rec { # https://github.com/schildichat/element-desktop/blob/sc/package.json desktopItems = [ (makeDesktopItem { - name = "schildichat-desktop"; - exec = "${executableName} %u"; - icon = "schildichat"; - desktopName = "SchildiChat"; - genericName = "Matrix Client"; - comment = meta.description; - categories = "Network;InstantMessaging;Chat;"; - extraEntries = '' - StartupWMClass=schildichat - MimeType=x-scheme-handler/element; - ''; + name = "schildichat-desktop"; + exec = "${executableName} %u"; + icon = "schildichat"; + desktopName = "SchildiChat"; + genericName = "Matrix Client"; + comment = meta.description; + categories = "Network;InstantMessaging;Chat;"; + extraEntries = '' + StartupWMClass=schildichat + MimeType=x-scheme-handler/element; + ''; }) ]; diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix index f1bcd101279..22440d71805 100644 --- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix @@ -123,6 +123,7 @@ in stdenv.mkDerivation rec { gappsWrapperArgs+=( --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc ] }" ${customLanguageWrapperArgs} + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland}}" ) # Fix the desktop link diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix index 5e017551871..2ba8fcf579c 100644 --- a/pkgs/applications/networking/instant-messengers/slack/default.nix +++ b/pkgs/applications/networking/instant-messengers/slack/default.nix @@ -84,7 +84,7 @@ let homepage = "https://slack.com"; license = licenses.unfree; maintainers = with maintainers; [ mmahut ]; - platforms = [ "x86_64-darwin" "x86_64-linux" "aarch64-darwin"]; + platforms = [ "x86_64-darwin" "x86_64-linux" "aarch64-darwin" ]; }; linux = stdenv.mkDerivation rec { @@ -170,7 +170,8 @@ let rm $out/bin/slack makeWrapper $out/lib/slack/slack $out/bin/slack \ --prefix XDG_DATA_DIRS : $GSETTINGS_SCHEMAS_PATH \ - --prefix PATH : ${lib.makeBinPath [xdg-utils]} + --prefix PATH : ${lib.makeBinPath [xdg-utils]} \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland}}" # Fix the desktop link substituteInPlace $out/share/applications/slack.desktop \ |