{ config, pkgs, ... }: { programs.lf = { enable = true; settings = { shell = "sh"; icons = true; drawbox = true; scrolloff = 10; shellopts = "-eu"; }; commands = { extract = '' %{{ set -f case $f in *.tar.bz|*.tar.bz2|*.tbz|*.tbz2) tar xjvf $f;; *.tar.gz|*.tgz) tar xzvf $f;; *.tar.xz|*.txz) tar xJvf $f;; *.zip) unzip $f;; *.rar) unrar x $f;; *.7z) 7z x $f;; esac }} ''; open = '' %{{ case $(file --mime-type -Lb $f) in text/*|application/json) lf -remote "send $id \$$EDITOR \$fx";; *) for f in $fx; do $OPENER $f > /dev/null 2> /dev/null & done;; esac }} ''; }; keybindings = { "" = "shell"; "." = "set hidden!"; }; }; }