65 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| { pkgs, lib, config, ... }:
 | |
| #TODO - mkif wayland for previewer
 | |
| #     - manage previewer dependencies better
 | |
| #     - ripdrag support
 | |
| #     - color parity with eza
 | |
| let
 | |
|  cfg = config.homeModules.console.fileManager.lf;
 | |
| in
 | |
| 
 | |
| {
 | |
|   config = lib.mkIf cfg.enable {
 | |
|     home.sessionVariables.FILEMANAGER = lib.mkIf cfg.default "lf";
 | |
|   
 | |
|     xdg.configFile."lf/icons".source = ./icons;
 | |
| 
 | |
|     programs.lf = {
 | |
|       enable = true;
 | |
|       settings = {
 | |
|         hidden = true;
 | |
|         ignorecase = true;
 | |
|         drawbox = true;
 | |
|         icons = true;
 | |
|       };
 | |
|       previewer = {
 | |
|         keybinding = "i";
 | |
|         source = "${pkgs.ctpv}/bin/ctpv";
 | |
|       };
 | |
|       commands = {
 | |
|         fzf-lf = ''
 | |
|         ''${{
 | |
|         res="$(find -L . \( -path '*/\.*' -o -fstype 'dev' -o -fstype 'proc' \) -prune -o -print 2> /dev/null | sed 1d | cut -b3- | fzf +m)"
 | |
|         if [ -d "$res" ] ; then
 | |
|             cmd="cd"
 | |
|         elif [ -f "$res" ] ; then
 | |
|             cmd="select"
 | |
|         else
 | |
|             exit 0
 | |
|         fi
 | |
|         lf -remote "send $id $cmd \"$res\""
 | |
|         }}
 | |
|         '';
 | |
|         mkdir = ''
 | |
|           ''${{
 | |
|             printf "Directory Name: "
 | |
|             read DIR
 | |
|             mkdir $DIR
 | |
|           }}
 | |
|           '';
 | |
|       };
 | |
|       keybindings = {
 | |
|         c = "mkdir";
 | |
|         "<a-f>" = "fzf-lf";
 | |
|       };
 | |
|       extraConfig = ''
 | |
|         &${pkgs.ctpv}/bin/ctpv -s $id
 | |
|         cmd on-quit %${pkgs.ctpv}/bin/ctpv -e $id
 | |
|         set cleaner ${pkgs.ctpv}/bin/ctpvclear
 | |
|         set sixel true
 | |
|       '';
 | |
|     };    
 | |
|   
 | |
| 
 | |
|     home.packages = with pkgs; [ chafa ctpv glow ];
 | |
|   };
 | |
| }
 |