{ lib, nixosConfig, ... }: { programs.starship = { enable = true; enableZshIntegration = true; settings = { add_newline = false; format = lib.concatStrings [ "$directory" "$username" "$cmd_duration" "$status" "$character" ]; right_format = lib.concatStrings ( [ "$time" "$git_metrics" "$git_branch" "$git_status" "$git_commit" "$git_state" ] ++ lib.optional nixosConfig.soispha.laptop.enable "$battery" ); scan_timeout = 20; character = { # success_symbol = "[❯](bold blue)"; # a = "⬢"; success_symbol = "[](bold blue)"; error_symbol = "[](bold red)"; }; status = { disabled = false; format = "[($common_meaning \\($status\\))($signal_name \\($signal_number\\)))]($style)"; }; time = { disabled = false; format = "[\\[$time\\]]($style)"; }; username = { format = "as [$user]($style) "; }; git_status = { ahead = "⇡$count"; diverged = "⇕⇡$ahead_count⇣$behind_count"; behind = "⇣$count"; }; git_metrics = { disabled = false; ignore_submodules = true; }; git_state = {}; git_commit = { tag_disabled = false; tag_symbol = "v"; format = "[(\\[($hash$tag\\])]($style)"; }; directory = { truncate_to_repo = true; read_only = ""; before_repo_root_style = "black bold dimmed"; }; cmd_duration = { min_time = 2000; # Milliseconds style = "bold white"; }; battery = { # '󰁹 ' # '󰂄 ' # '󰂃 ' # '󰁽 ' # '󰂎 ' display = [ { threshold = 10; style = "bold red"; } { threshold = 30; style = "bold blue"; } { threshold = 50; style = "bold green"; } ]; }; }; }; }