diff --git a/hm_modules/lf.nix b/hm_modules/lf.nix index 152dc8b..54701bf 100644 --- a/hm_modules/lf.nix +++ b/hm_modules/lf.nix @@ -34,8 +34,406 @@ in source = lf_kitty_preview; # keybinding = "i"; }; + keybindings = { + "" = "$EDITOR $(fzf)"; + }; + commands = { + "z" = ''''${{ + result="$(zoxide query --exclude "$PWD" -- "$@")" + lf -remote "send $id cd '$result'" + }}''; + "zi" = ''''${{ + result="$(zoxide query -i -- "$@")" + lf -remote "send $id cd '$result'" + }}''; + "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 + }}''; + "tar" = ''''${{ + set -f + mkdir $1 + cp -r $fx $1 + tar czf $1.tar.gz $1 + rm -rf $1 + }}''; + "zip" = ''''${{ + set -f + mkdir $1 + cp -r $fx $1 + zip -r $1.zip $1 + rm -rf $1 + }}''; + }; extraConfig = '' set cleaner ${lf_kitty_cleaner} ''; }; + + xdg.configFile."lf/icons".text = '' + # vim:ft=conf + + # These examples require Nerd Fonts or a compatible font to be used. + # See https://www.nerdfonts.com for more information. + + # default values from lf (with matching order) + # ln l # LINK + # or l # ORPHAN + # tw t # STICKY_OTHER_WRITABLE + # ow d # OTHER_WRITABLE + # st t # STICKY + # di d # DIR + # pi p # FIFO + # so s # SOCK + # bd b # BLK + # cd c # CHR + # su u # SETUID + # sg g # SETGID + # ex x # EXEC + # fi - # FILE + + # file types (with matching order) + ln  # LINK + or  # ORPHAN + tw t # STICKY_OTHER_WRITABLE + ow  # OTHER_WRITABLE + st t # STICKY + di  # DIR + pi p # FIFO + so s # SOCK + bd b # BLK + cd c # CHR + su u # SETUID + sg g # SETGID + ex  # EXEC + fi  # FILE + + # file extensions (vim-devicons) + *.styl  + *.sass  + *.scss  + *.htm  + *.html  + *.slim  + *.haml  + *.ejs  + *.css  + *.less  + *.md  + *.mdx  + *.markdown  + *.rmd  + *.json  + *.webmanifest  + *.js  + *.mjs  + *.jsx  + *.rb  + *.gemspec  + *.rake  + *.php  + *.py  + *.pyc  + *.pyo  + *.pyd  + *.coffee  + *.mustache  + *.hbs  + *.conf  + *.ini  + *.yml  + *.yaml  + *.toml  + *.bat  + *.mk  + *.jpg  + *.jpeg  + *.bmp  + *.png  + *.webp  + *.gif  + *.ico  + *.twig  + *.cpp  + *.c++  + *.cxx  + *.cc  + *.cp  + *.c  + *.cs  + *.h  + *.hh  + *.hpp  + *.hxx  + *.hs  + *.lhs  + *.nix  + *.lua  + *.java  + *.sh  + *.fish  + *.bash  + *.zsh  + *.ksh  + *.csh  + *.awk  + *.ps1  + *.ml λ + *.mli λ + *.diff  + *.db  + *.sql  + *.dump  + *.clj  + *.cljc  + *.cljs  + *.edn  + *.scala  + *.go  + *.dart  + *.xul  + *.sln  + *.suo  + *.pl  + *.pm  + *.t  + *.rss  + '*.f#'  + *.fsscript  + *.fsx  + *.fs  + *.fsi  + *.rs  + *.rlib  + *.d  + *.erl  + *.hrl  + *.ex  + *.exs  + *.eex  + *.leex  + *.heex  + *.vim  + *.ai  + *.psd  + *.psb  + *.ts  + *.tsx  + *.jl  + *.pp  + *.vue ﵂ + *.elm  + *.swift  + *.xcplayground  + *.tex ﭨ + *.r ﳒ + *.rproj 鉶 + *.sol ﲹ + *.pem  + + # file names (vim-devicons) (case-insensitive not supported in lf) + *gruntfile.coffee  + *gruntfile.js  + *gruntfile.ls  + *gulpfile.coffee  + *gulpfile.js  + *gulpfile.ls  + *mix.lock  + *dropbox  + *.ds_store  + *.gitconfig  + *.gitignore  + *.gitattributes  + *.gitlab-ci.yml  + *.bashrc  + *.zshrc  + *.zshenv  + *.zprofile  + *.vimrc  + *.gvimrc  + *_vimrc  + *_gvimrc  + *.bashprofile  + *favicon.ico  + *license  + *node_modules  + *react.jsx  + *procfile  + *dockerfile  + *docker-compose.yml  + *rakefile  + *config.ru  + *gemfile  + *makefile  + *cmakelists.txt  + *robots.txt ﮧ + + # file names (case-sensitive adaptations) + *Gruntfile.coffee  + *Gruntfile.js  + *Gruntfile.ls  + *Gulpfile.coffee  + *Gulpfile.js  + *Gulpfile.ls  + *Dropbox  + *.DS_Store  + *LICENSE  + *React.jsx  + *Procfile  + *Dockerfile  + *Docker-compose.yml  + *Rakefile  + *Gemfile  + *Makefile  + *CMakeLists.txt  + + # file patterns (vim-devicons) (patterns not supported in lf) + # .*jquery.*\.js$  + # .*angular.*\.js$  + # .*backbone.*\.js$  + # .*require.*\.js$  + # .*materialize.*\.js$  + # .*materialize.*\.css$  + # .*mootools.*\.js$  + # .*vimrc.*  + # Vagrantfile$  + + # file patterns (file name adaptations) + *jquery.min.js  + *angular.min.js  + *backbone.min.js  + *require.min.js  + *materialize.min.js  + *materialize.min.css  + *mootools.min.js  + *vimrc  + Vagrantfile  + + # archives or compressed (extensions from dircolors defaults) + *.tar  + *.tgz  + *.arc  + *.arj  + *.taz  + *.lha  + *.lz4  + *.lzh  + *.lzma  + *.tlz  + *.txz  + *.tzo  + *.t7z  + *.zip  + *.z  + *.dz  + *.gz  + *.lrz  + *.lz  + *.lzo  + *.xz  + *.zst  + *.tzst  + *.bz2  + *.bz  + *.tbz  + *.tbz2  + *.tz  + *.deb  + *.rpm  + *.jar  + *.war  + *.ear  + *.sar  + *.rar  + *.alz  + *.ace  + *.zoo  + *.cpio  + *.7z  + *.rz  + *.cab  + *.wim  + *.swm  + *.dwm  + *.esd  + + # image formats (extensions from dircolors defaults) + *.jpg  + *.jpeg  + *.mjpg  + *.mjpeg  + *.gif  + *.bmp  + *.pbm  + *.pgm  + *.ppm  + *.tga  + *.xbm  + *.xpm  + *.tif  + *.tiff  + *.png  + *.svg  + *.svgz  + *.mng  + *.pcx  + *.mov  + *.mpg  + *.mpeg  + *.m2v  + *.mkv  + *.webm  + *.ogm  + *.mp4  + *.m4v  + *.mp4v  + *.vob  + *.qt  + *.nuv  + *.wmv  + *.asf  + *.rm  + *.rmvb  + *.flc  + *.avi  + *.fli  + *.flv  + *.gl  + *.dl  + *.xcf  + *.xwd  + *.yuv  + *.cgm  + *.emf  + *.ogv  + *.ogx  + + # audio formats (extensions from dircolors defaults) + *.aac  + *.au  + *.flac  + *.m4a  + *.mid  + *.midi  + *.mka  + *.mp3  + *.mpc  + *.ogg  + *.ra  + *.wav  + *.oga  + *.opus  + *.spx  + *.xspf  + + # other formats + *.pdf  + ''; }