113 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			113 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{ lib, ... }:
 | 
						|
{
 | 
						|
  programs.kitty = lib.mkForce {
 | 
						|
    enable = true;
 | 
						|
    settings = {
 | 
						|
      themeFile = "Catppuccin-Mocha";
 | 
						|
      confirm_os_window_close = 0;
 | 
						|
      dynamic_background_opacity = true;
 | 
						|
      enable_audio_bell = false;
 | 
						|
      mouse_hide_wait = "-1.0";
 | 
						|
      window_padding_width = 10;
 | 
						|
      background_opacity = "0.8";
 | 
						|
      background_blur = 5;
 | 
						|
      tab_bar_min_tabs = 1;
 | 
						|
      tab_bar_edge = "bottom";
 | 
						|
      tab_bar_style = "powerline";
 | 
						|
      tab_powerline_style = "slanted";
 | 
						|
      tab_title_template = "{title}{' :{}:'.format(num_windows) if num_windows > 1 else ''}";
 | 
						|
      symbol_map =
 | 
						|
        let
 | 
						|
          mappings = [
 | 
						|
            "U+23FB-U+23FE"
 | 
						|
            "U+2B58"
 | 
						|
            "U+E200-U+E2A9"
 | 
						|
            "U+E0A0-U+E0A3"
 | 
						|
            "U+E0B0-U+E0BF"
 | 
						|
            "U+E0C0-U+E0C8"
 | 
						|
            "U+E0CC-U+E0CF"
 | 
						|
            "U+E0D0-U+E0D2"
 | 
						|
            "U+E0D4"
 | 
						|
            "U+E700-U+E7C5"
 | 
						|
            "U+F000-U+F2E0"
 | 
						|
            "U+2665"
 | 
						|
            "U+26A1"
 | 
						|
            "U+F400-U+F4A8"
 | 
						|
            "U+F67C"
 | 
						|
            "U+E000-U+E00A"
 | 
						|
            "U+F300-U+F313"
 | 
						|
            "U+E5FA-U+E62B"
 | 
						|
          ];
 | 
						|
        in
 | 
						|
        (builtins.concatStringsSep "," mappings) + " Symbols Nerd Font";
 | 
						|
    };
 | 
						|
  };
 | 
						|
 | 
						|
  programs.starship = {
 | 
						|
    enable = true;
 | 
						|
    settings = {
 | 
						|
      add_newline = true;
 | 
						|
      command_timeout = 500;
 | 
						|
 | 
						|
      format = "$username$hostname $directory $git_branch$git_status\n$character ";
 | 
						|
      right_format = "$cmd_duration";
 | 
						|
 | 
						|
      username = {
 | 
						|
        style_user = "bold #cba6f7";
 | 
						|
        style_root = "bold #f38ba8";
 | 
						|
        format = "[┌](bold #a6e3a1)[$user]($style)";
 | 
						|
        show_always = true;
 | 
						|
      };
 | 
						|
 | 
						|
      hostname = {
 | 
						|
        style = "bold #74c7ec";
 | 
						|
        format = "[@](bold #fab387)[$hostname]($style)";
 | 
						|
        ssh_only = false;
 | 
						|
      };
 | 
						|
 | 
						|
      directory = {
 | 
						|
        style = "bold #a6e3a1";
 | 
						|
        truncation_length = 0;
 | 
						|
        truncation_symbol = "";
 | 
						|
        format = "[⤇ ](bold #f38ba8)[《$path》]($style)";
 | 
						|
      };
 | 
						|
 | 
						|
      git_branch = {
 | 
						|
        format = "[⟦$branch⟧]($style)";
 | 
						|
        style = "bold #f9e2af";
 | 
						|
      };
 | 
						|
 | 
						|
      # Git status module settings
 | 
						|
      git_status = {
 | 
						|
        format = "[[(*$conflicted$untracked$modified$staged$renamed$deleted)](red) ($ahead_behind$stashed)]($style)";
 | 
						|
        style = "bold #a6e3a1";
 | 
						|
        conflicted = "";
 | 
						|
        untracked = "";
 | 
						|
        modified = "";
 | 
						|
        staged = "";
 | 
						|
        renamed = "";
 | 
						|
        deleted = "";
 | 
						|
      };
 | 
						|
 | 
						|
      # Command duration module
 | 
						|
      cmd_duration = {
 | 
						|
        format = "[$duration]($style)";
 | 
						|
        style = "bold #cdd6f4";
 | 
						|
        min_time = 5000; # Only show if command takes longer than 5 seconds
 | 
						|
      };
 | 
						|
 | 
						|
      # Character module (prompt symbol)
 | 
						|
      character = {
 | 
						|
        success_symbol = "[└──────⇴ ](bold #a6e3a1)";
 | 
						|
        error_symbol = "[└──────⇴ ](bold #f38ba8)";
 | 
						|
      };
 | 
						|
 | 
						|
      nix_shell = {
 | 
						|
        format = "[$symbol$state( \($name\))]($style)";
 | 
						|
        symbol = "U+02744";
 | 
						|
        style = "bold #89dceb";
 | 
						|
      };
 | 
						|
    };
 | 
						|
  };
 | 
						|
}
 |