summary refs log tree commit diff
path: root/pkgs/applications/misc/ranger
diff options
context:
space:
mode:
authorJan Malakhovski <oxij@oxij.org>2017-03-31 20:56:00 +0000
committerJan Malakhovski <oxij@oxij.org>2017-06-20 13:54:42 +0000
commit08ba40ae9cb2c7c3446425bbb7dcb9cc4287b774 (patch)
treea2db99808042f3e714cb33ec89e6de181cb67760 /pkgs/applications/misc/ranger
parent9ed3ad1ebafeda66e76012c0aae1f20661298d25 (diff)
downloadnixlib-08ba40ae9cb2c7c3446425bbb7dcb9cc4287b774.tar
nixlib-08ba40ae9cb2c7c3446425bbb7dcb9cc4287b774.tar.gz
nixlib-08ba40ae9cb2c7c3446425bbb7dcb9cc4287b774.tar.bz2
nixlib-08ba40ae9cb2c7c3446425bbb7dcb9cc4287b774.tar.lz
nixlib-08ba40ae9cb2c7c3446425bbb7dcb9cc4287b774.tar.xz
nixlib-08ba40ae9cb2c7c3446425bbb7dcb9cc4287b774.tar.zst
nixlib-08ba40ae9cb2c7c3446425bbb7dcb9cc4287b774.zip
ranger: add imagePreviewSupport option and make previews work out of the box
Before one had to turn it on manually and update the preview script in dotfiles
manually when ranger updates.

Now it requires zero configuration. Just run `ranger` and it works, and
should continue to work automagically when ranger updates.

Everything still can be (de)configured via `rc.conf` in dotfiles.
Diffstat (limited to 'pkgs/applications/misc/ranger')
-rw-r--r--pkgs/applications/misc/ranger/default.nix20
1 files changed, 17 insertions, 3 deletions
diff --git a/pkgs/applications/misc/ranger/default.nix b/pkgs/applications/misc/ranger/default.nix
index 1371646be273..92e017c3f28f 100644
--- a/pkgs/applications/misc/ranger/default.nix
+++ b/pkgs/applications/misc/ranger/default.nix
@@ -1,4 +1,9 @@
-{ stdenv, fetchurl, pythonPackages, w3m, file, less }:
+{ stdenv, fetchurl, pythonPackages, file, less
+, imagePreviewSupport ? true, w3m ? null}:
+
+with stdenv.lib;
+
+assert imagePreviewSupport -> w3m != null;
 
 pythonPackages.buildPythonApplication rec {
   name = "ranger-1.8.1";
@@ -23,14 +28,23 @@ pythonPackages.buildPythonApplication rec {
   '';
 
   preConfigure = ''
-    substituteInPlace ranger/ext/img_display.py \
-      --replace /usr/lib/w3m ${w3m}/libexec/w3m
     substituteInPlace ranger/__init__.py \
       --replace "DEFAULT_PAGER = 'less'" "DEFAULT_PAGER = '${stdenv.lib.getBin less}/bin/less'"
 
     for i in ranger/config/rc.conf doc/config/rc.conf ; do
       substituteInPlace $i --replace /usr/share $out/share
     done
+
+    # give file previews out of the box
+    substituteInPlace ranger/config/rc.conf \
+      --replace "set preview_script ~/.config/ranger/scope.sh" "set preview_script $out/share/doc/ranger/config/scope.sh"
+  '' + optionalString imagePreviewSupport ''
+    substituteInPlace ranger/ext/img_display.py \
+      --replace /usr/lib/w3m ${w3m}/libexec/w3m
+
+    # give image previews out of the box when building with w3m
+    substituteInPlace ranger/config/rc.conf \
+      --replace "set preview_images false" "set preview_images true" \
   '';
 
 }