about summary refs log tree commit diff
path: root/pkgs/desktops
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/desktops')
-rw-r--r--pkgs/desktops/xfce/applications/ristretto/default.nix16
-rw-r--r--pkgs/desktops/xfce/core/tumbler/default.nix10
2 files changed, 26 insertions, 0 deletions
diff --git a/pkgs/desktops/xfce/applications/ristretto/default.nix b/pkgs/desktops/xfce/applications/ristretto/default.nix
index 93941346dcc75..0a6a622e777ce 100644
--- a/pkgs/desktops/xfce/applications/ristretto/default.nix
+++ b/pkgs/desktops/xfce/applications/ristretto/default.nix
@@ -2,9 +2,13 @@
 , mkXfceDerivation
 , gtk3
 , glib
+, gnome
 , libexif
+, libjxl
+, librsvg
 , libxfce4ui
 , libxfce4util
+, webp-pixbuf-loader
 , xfconf
 }:
 
@@ -27,6 +31,18 @@ mkXfceDerivation {
 
   env.NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
 
+  postInstall = ''
+    # Pull in JXL and WebP support for ristretto.
+    # In postInstall to run before gappsWrapperArgsHook.
+    export GDK_PIXBUF_MODULE_FILE="${gnome._gdkPixbufCacheBuilder_DO_NOT_USE {
+      extraLoaders = [
+        libjxl
+        librsvg
+        webp-pixbuf-loader
+      ];
+    }}"
+  '';
+
   meta = with lib; {
     description = "Fast and lightweight picture-viewer for the Xfce desktop environment";
     mainProgram = "ristretto";
diff --git a/pkgs/desktops/xfce/core/tumbler/default.nix b/pkgs/desktops/xfce/core/tumbler/default.nix
index f43a465ed98b0..fd0e375033c0c 100644
--- a/pkgs/desktops/xfce/core/tumbler/default.nix
+++ b/pkgs/desktops/xfce/core/tumbler/default.nix
@@ -6,8 +6,11 @@
 , freetype
 , libgepub
 , libgsf
+, libjxl
+, librsvg
 , poppler
 , gst_all_1
+, webp-pixbuf-loader
 , libxfce4util
 }:
 
@@ -32,6 +35,13 @@ mkXfceDerivation {
     poppler # technically the glib binding
   ];
 
+  preFixup = ''
+    gappsWrapperArgs+=(
+      # Thumbnailers
+      --prefix XDG_DATA_DIRS : "${lib.makeSearchPath "share" [ libjxl librsvg webp-pixbuf-loader ]}"
+    )
+  '';
+
   # WrapGAppsHook won't touch this binary automatically, so we wrap manually.
   postFixup = ''
     wrapProgram $out/lib/tumbler-1/tumblerd "''${gappsWrapperArgs[@]}"