From f1b77874db0ee6a816eda5aecb9d44f4671e4388 Mon Sep 17 00:00:00 2001
From: Julien Moutinho <julm+julm-nix@sourcephile.fr>
Date: Thu, 9 Dec 2021 23:08:58 +0100
Subject: [PATCH] lf: tweak settings

---
 home-manager/profiles/lf.nix            | 40 +++++++++++++++++++++++--
 home-manager/profiles/mpv.nix           |  4 ---
 home-manager/profiles/ranger/rifle.conf |  7 +++--
 3 files changed, 42 insertions(+), 9 deletions(-)

diff --git a/home-manager/profiles/lf.nix b/home-manager/profiles/lf.nix
index 32ab40e..0e81fa0 100644
--- a/home-manager/profiles/lf.nix
+++ b/home-manager/profiles/lf.nix
@@ -1,16 +1,52 @@
 { pkgs, lib, config, ... }:
+let
+  lfimg = pkgs.fetchFromGitHub {
+    owner = "neeshy";
+    repo = "lfimg";
+    rev = "e9154721514a1384a89f2713092c15dc77992f37";
+    sha256 = "sha256-n4H+oREay96sxenF9S02uJp5xV7ow/URaQWaV/sPsuk=";
+  };
+in
 {
 home.packages = [
   pkgs.lf
+  #(pkgs.writeShellScriptBin "lfimg" (lib.readFile "${lfimg}/lfimg"))
+  pkgs.pistol # For previewing
   pkgs.ranger # Only for rifle, to replace xdg-open
+  #pkgs.ueberzug # For previewing images
 ];
 xdg.configFile."lf/lfrc".text = ''
   # Do not fork
   #cmd open $xdg-open "$f"
   cmd open $rifle "$f"
-  map <enter> opn
+  map <enter> open
+  map d delete
+  map f filter
+  map i up
+  map j updir
+  map k down
+  #set cleaner ${lfimg}/cls
+  set dircache
+  set dirfirst
+  set hidden
+  set incfilter
+  set incsearch
+  set mouse
+  set noglobsearch
+  set noicons
+  set preview
+  set previewer pistol
+  set ratios 1:2
+  set scrolloff 10
+  set sortby natural
+  set tabstop 4
 '';
+xdg.configFile."pistol/pistol.conf".text = ''
+  text/* bat --paging=never --color=always %pistol-filename%
+  #image/.* ${lfimg}/pv %pistol-filename% %pistol-extra0% %pistol-extra1% %pistol-extra2% %pistol-extra3%
+'';
+# xdg-open is harder to configure and slower to launch than rifle
+#xdg.mimeApps.enable = true;
 # Initial config from https://raw.githubusercontent.com/ranger/ranger/master/ranger/config/rifle.conf
 xdg.configFile."ranger/rifle.conf".source = ranger/rifle.conf;
-#xdg.mimeApps.enable = true;
 }
diff --git a/home-manager/profiles/mpv.nix b/home-manager/profiles/mpv.nix
index 1b3cb09..f943440 100644
--- a/home-manager/profiles/mpv.nix
+++ b/home-manager/profiles/mpv.nix
@@ -10,12 +10,8 @@ xdg.configFile."mpv/input.conf".text = ''
   Alt+f cycle video-unscaled
 '';
 xdg.configFile."mpv/mpv.conf".text = ''
-  # Do not require DISPLAY for audio files
-  audio-display=no
   hwdec=auto-safe
   profile=gpu-hq
-  # Terminal is disabled by --player-operation-mode=pseudo-gui in mpv.desktop
-  terminal=yes
   vo=gpu
   ytdl-format=18/mp4-480p/hls-480p/http-360p/mp4
 '';
diff --git a/home-manager/profiles/ranger/rifle.conf b/home-manager/profiles/ranger/rifle.conf
index 75ccf91..ede512a 100644
--- a/home-manager/profiles/ranger/rifle.conf
+++ b/home-manager/profiles/ranger/rifle.conf
@@ -119,8 +119,8 @@ ext midi?,        terminal, has wildmidi = wildmidi -- "$@"
 #--------------------------------------------
 # Video/Audio with a GUI
 #-------------------------------------------
-mime ^video|^audio, has gmplayer, X, flag f = gmplayer -- "$@"
-mime ^video|^audio, has smplayer, X, flag f = smplayer "$@"
+#mime ^video|^audio, has gmplayer, X, flag f = gmplayer -- "$@"
+#mime ^video|^audio, has smplayer, X, flag f = smplayer "$@"
 mime ^video,        has mpv,      X, flag f = mpv -- "$@"
 mime ^video,        has mpv,      X, flag f = mpv --fs -- "$@"
 mime ^video,        has mplayer2, X, flag f = mplayer2 -- "$@"
@@ -197,7 +197,8 @@ mime ^image, has ristretto, X, flag f = ristretto "$@"
 mime ^image, has eog,       X, flag f = eog -- "$@"
 mime ^image, has eom,       X, flag f = eom -- "$@"
 mime ^image, has nomacs,    X, flag f = nomacs -- "$@"
-mime ^image, has geeqie,    X, flag f = geeqie -- "$@"
+# geeqie crashes :'(
+#mime ^image, has geeqie,    X, flag f = geeqie -- "$@"
 mime ^image, has gpicview,  X, flag f = gpicview -- "$@"
 mime ^image, has gwenview,  X, flag f = gwenview -- "$@"
 mime ^image, has mcomix,    X, flag f = mcomix -- "$@"
-- 
2.47.2