{ lib, ... }: { programs.starship = { enable = true; enableFishIntegration = true; settings = { add_newline = false; format = lib.concatStrings [ "[](red)" "$os" "$username" "[](bg:peach fg:red)" "$directory" "[](bg:yellow fg:peach)" "$git_branch" "$git_status" "[](fg:yellow bg:green)" "$bun" "$golang" "$nix_shell" "$nodejs" "$python" "[](fg:green bg:sapphire)" "$docker_context" "[](fg:sapphire bg:lavender)" "$time" "[ ](fg:lavender)" "$cmd_duration" "$line_break" "$character" ]; os = { disabled = false; style = "bg:red fg:crust"; symbols = { Linux = "󰌽"; Macos = "󰀵"; NixOS = ""; Windows = ""; }; }; username = { show_always = true; style_user = "bg:red fg:crust"; style_root = "bg:red fg:crust"; format = "[ $user]($style)"; }; directory = { style = "bg:peach fg:crust"; format = "[ $path ]($style)"; truncation_length = 3; truncation_symbol = "…/"; substitutions = { Developer = "󰲋 "; Documents = "󰈙 "; Downloads = " "; Music = "󰝚 "; Pictures = " "; }; }; git_branch = { symbol = ""; style = "bg:yellow"; format = "[[ $symbol $branch ](fg:crust bg:yellow)]($style)"; }; git_status = { style = "bg:yellow"; format = "[[($all_status$ahead_behind )](fg:crust bg:yellow)]($style)"; }; bun = { symbol = ""; style = "bg:green"; format = "[[ $symbol( $version) ](fg:crust bg:green)]($style)"; }; golang = { symbol = ""; style = "bg:green"; format = "[[ $symbol( $version) ](fg:crust bg:green)]($style)"; }; nix_shell = { symbol = ""; style = "bg:green"; format = "[[ $symbol$state( \\($name\\)) ](fg:crust bg:green)]($style)"; }; nodejs = { symbol = ""; style = "bg:green"; format = "[[ $symbol( $version) ](fg:crust bg:green)]($style)"; detect_extensions = [ ]; }; python = { symbol = ""; style = "bg:green"; format = "[[ $symbol( $version)(\\($virtualenv\\)) ](fg:crust bg:green)]($style)"; }; docker_context = { symbol = ""; style = "bg:sapphire"; format = "[[ $symbol( $context) ](fg:crust bg:sapphire)]($style)"; }; time = { disabled = false; time_format = "%R"; style = "bg:lavender"; format = "[[  $time ](fg:crust bg:lavender)]($style)"; }; line_break.disabled = true; character = { success_symbol = "[❯](bold fg:green)"; error_symbol = "[❯](bold fg:red)"; vimcmd_symbol = "[❮](bold fg:green)"; vimcmd_replace_one_symbol = "[❮](bold fg:lavender)"; vimcmd_replace_symbol = "[❮](bold fg:lavender)"; vimcmd_visual_symbol = "[❮](bold fg:yellow)"; }; cmd_duration = { show_milliseconds = true; format = " in $duration "; style = "bg:lavender"; disabled = false; show_notifications = true; min_time_to_notify = 45000; }; }; }; }