75 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{
 | 
						|
  config,
 | 
						|
  lib,
 | 
						|
  namespace,
 | 
						|
  options,
 | 
						|
  ...
 | 
						|
}:
 | 
						|
let
 | 
						|
  inherit (lib) mkIf;
 | 
						|
  inherit (lib.${namespace}) mkBoolOpt;
 | 
						|
  cfg = config.${namespace}.apps.cli-apps.starship;
 | 
						|
in
 | 
						|
{
 | 
						|
  options.${namespace}.apps.cli-apps.starship = {
 | 
						|
    enable = mkBoolOpt true "Whether or not to enable starship shell";
 | 
						|
  };
 | 
						|
 | 
						|
  config = mkIf cfg.enable {
 | 
						|
    catppuccin.starship.enable = false;
 | 
						|
    programs = {
 | 
						|
      fish.shellInit = "
 | 
						|
	        starship init fish | source
 | 
						|
      ";
 | 
						|
 | 
						|
      starship = {
 | 
						|
        enable = true;
 | 
						|
        enableTransience = true;
 | 
						|
        settings = {
 | 
						|
          character = {
 | 
						|
            error_symbol = "[ ](bold red)";
 | 
						|
          };
 | 
						|
          time = {
 | 
						|
            disabled = false;
 | 
						|
            time_format = "%T";
 | 
						|
            utc_time_offset = "+2";
 | 
						|
          };
 | 
						|
          username = {
 | 
						|
            style_user = "#00de00";
 | 
						|
            style_root = "red";
 | 
						|
            format = "[$user]($style) ";
 | 
						|
            disabled = false;
 | 
						|
            show_always = true;
 | 
						|
          };
 | 
						|
          hostname = {
 | 
						|
            ssh_only = false;
 | 
						|
            format = "@ [$hostname](bold yellow) ";
 | 
						|
            disabled = false;
 | 
						|
          };
 | 
						|
          directory = {
 | 
						|
            home_symbol = " ~";
 | 
						|
            read_only_style = "197";
 | 
						|
            read_only = "  ";
 | 
						|
            format = "at [$path]($style)[$read_only]($read_only_style) ";
 | 
						|
          };
 | 
						|
          git_metrics = {
 | 
						|
            disabled = false;
 | 
						|
            added_style = "bold blue";
 | 
						|
            format = "[+$added]($added_style)/[-$deleted]($deleted_style) ";
 | 
						|
          };
 | 
						|
          git_status = {
 | 
						|
            format = "([$all_status$ahead_behind]($style) )";
 | 
						|
            ahead = "[↑$count](bold green)";
 | 
						|
            behind = "[↓$count](bold red)";
 | 
						|
            diverged = "[↕↓$ahead_count↑$behind_count](red)";
 | 
						|
            deleted = "[✘$count](red) ";
 | 
						|
            modified = "[!$count](yellow) ";
 | 
						|
            staged = "[+$count](green) ";
 | 
						|
            renamed = "[➜$count](green) ";
 | 
						|
            untracked = "[?$count](blue) ";
 | 
						|
          };
 | 
						|
        };
 | 
						|
      };
 | 
						|
    };
 | 
						|
  };
 | 
						|
}
 |