mirror of
				https://github.com/nmasur/dotfiles
				synced 2025-11-03 13:33:15 +00:00 
			
		
		
		
	use yazi outside of helix and chawan as manpager
This commit is contained in:
		@@ -0,0 +1,25 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  config,
 | 
				
			||||||
 | 
					  pkgs,
 | 
				
			||||||
 | 
					  lib,
 | 
				
			||||||
 | 
					  ...
 | 
				
			||||||
 | 
					}:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					let
 | 
				
			||||||
 | 
					  cfg = config.nmasur.presets.programs.chawan;
 | 
				
			||||||
 | 
					in
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  options.nmasur.presets.programs.chawan.enable = lib.mkEnableOption "chawan TUI web browser";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  config = lib.mkIf cfg.enable {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Set Chawan as the default app for manual pages
 | 
				
			||||||
 | 
					    home.sessionVariables = {
 | 
				
			||||||
 | 
					      MANPAGER = "${lib.getExe pkgs.chawan} -T text/x-ansi";
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -22,7 +22,7 @@ in
 | 
				
			|||||||
    # Set Neovim as the default app for text editing and manual pages
 | 
					    # Set Neovim as the default app for text editing and manual pages
 | 
				
			||||||
    home.sessionVariables = {
 | 
					    home.sessionVariables = {
 | 
				
			||||||
      EDITOR = lib.mkForce "${lib.getExe pkgs.helix}";
 | 
					      EDITOR = lib.mkForce "${lib.getExe pkgs.helix}";
 | 
				
			||||||
      MANPAGER = lib.mkForce "sh -c 'col -bx | ${lib.getExe pkgs.helix}'";
 | 
					      # MANPAGER = lib.mkForce "sh -c 'col -bx | ${lib.getExe pkgs.helix}'";
 | 
				
			||||||
      MANWIDTH = 87;
 | 
					      MANWIDTH = 87;
 | 
				
			||||||
      MANROFFOPT = "-c";
 | 
					      MANROFFOPT = "-c";
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
@@ -181,17 +181,6 @@ in
 | 
				
			|||||||
          # Commandline git blame
 | 
					          # Commandline git blame
 | 
				
			||||||
          space.B = ":echo %sh{git log -n1 --date=short --pretty=format:'%%h %%ad %%s' $(git blame -L %{cursor_line},+1 \"%{buffer_name}\" | cut -d' ' -f1)}";
 | 
					          space.B = ":echo %sh{git log -n1 --date=short --pretty=format:'%%h %%ad %%s' $(git blame -L %{cursor_line},+1 \"%{buffer_name}\" | cut -d' ' -f1)}";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          # Open yazi
 | 
					 | 
				
			||||||
          # https://github.com/sxyazi/yazi/pull/2461
 | 
					 | 
				
			||||||
          # Won't work until next Helix release
 | 
					 | 
				
			||||||
          C-y = [
 | 
					 | 
				
			||||||
            ":sh rm -f /tmp/unique-file"
 | 
					 | 
				
			||||||
            ":insert-output ${lib.getExe pkgs.yazi} %{buffer_name} --chooser-file=/tmp/unique-file"
 | 
					 | 
				
			||||||
            ":insert-output echo \\x1b[?1049h\\x1b[?2004h > /dev/tty"
 | 
					 | 
				
			||||||
            ":open %sh{cat /tmp/unique-file}"
 | 
					 | 
				
			||||||
            ":redraw"
 | 
					 | 
				
			||||||
          ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
          # Extend selection above
 | 
					          # Extend selection above
 | 
				
			||||||
          X = "select_line_above";
 | 
					          X = "select_line_above";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -256,6 +245,10 @@ in
 | 
				
			|||||||
            git-exclude = true; # Skip excluded files
 | 
					            git-exclude = true; # Skip excluded files
 | 
				
			||||||
          };
 | 
					          };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          completion-replace = true; # Replace whole word with completion
 | 
				
			||||||
 | 
					          trim-trailing-whitespace = true;
 | 
				
			||||||
 | 
					          rainbow-brackets = true; # Make it easier to match parentheses
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          # Show whitespace visible to the user
 | 
					          # Show whitespace visible to the user
 | 
				
			||||||
          # Waiting for trailing whitespace option ideally
 | 
					          # Waiting for trailing whitespace option ideally
 | 
				
			||||||
          whitespace = {
 | 
					          whitespace = {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -44,7 +44,7 @@ in
 | 
				
			|||||||
    # Set Neovim as the default app for text editing and manual pages
 | 
					    # Set Neovim as the default app for text editing and manual pages
 | 
				
			||||||
    home.sessionVariables = {
 | 
					    home.sessionVariables = {
 | 
				
			||||||
      EDITOR = "${lib.getExe cfg.package}";
 | 
					      EDITOR = "${lib.getExe cfg.package}";
 | 
				
			||||||
      MANPAGER = "${lib.getExe cfg.package} +Man!";
 | 
					      # MANPAGER = "${lib.getExe cfg.package} +Man!";
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Create quick aliases for launching Neovim
 | 
					    # Create quick aliases for launching Neovim
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -198,6 +198,19 @@ in
 | 
				
			|||||||
                height = "99%";
 | 
					                height = "99%";
 | 
				
			||||||
              };
 | 
					              };
 | 
				
			||||||
            };
 | 
					            };
 | 
				
			||||||
 | 
					            "bind \"Alt Shift y\"" = {
 | 
				
			||||||
 | 
					              Run = {
 | 
				
			||||||
 | 
					                _args = [
 | 
				
			||||||
 | 
					                  (lib.getExe pkgs.yazi)
 | 
				
			||||||
 | 
					                ];
 | 
				
			||||||
 | 
					                close_on_exit = true;
 | 
				
			||||||
 | 
					                floating = true;
 | 
				
			||||||
 | 
					                x = "1%";
 | 
				
			||||||
 | 
					                y = "1%";
 | 
				
			||||||
 | 
					                width = "99%";
 | 
				
			||||||
 | 
					                height = "99%";
 | 
				
			||||||
 | 
					              };
 | 
				
			||||||
 | 
					            };
 | 
				
			||||||
            "bind \"Super Shift ]\"" = {
 | 
					            "bind \"Super Shift ]\"" = {
 | 
				
			||||||
              GoToNextTab = { };
 | 
					              GoToNextTab = { };
 | 
				
			||||||
            };
 | 
					            };
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -33,6 +33,7 @@ in
 | 
				
			|||||||
    nmasur.presets = {
 | 
					    nmasur.presets = {
 | 
				
			||||||
      programs = {
 | 
					      programs = {
 | 
				
			||||||
        bat.enable = lib.mkDefault true;
 | 
					        bat.enable = lib.mkDefault true;
 | 
				
			||||||
 | 
					        chawan.enable = lib.mkDefault true;
 | 
				
			||||||
        fd.enable = lib.mkDefault true;
 | 
					        fd.enable = lib.mkDefault true;
 | 
				
			||||||
        ripgrep.enable = lib.mkDefault true;
 | 
					        ripgrep.enable = lib.mkDefault true;
 | 
				
			||||||
        starship.enable = lib.mkDefault true;
 | 
					        starship.enable = lib.mkDefault true;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user