diff --git a/home/shell/starship.nix b/home/shell/starship.nix index f1bb016..3d0e5f8 100644 --- a/home/shell/starship.nix +++ b/home/shell/starship.nix @@ -9,77 +9,128 @@ add_newline = false; format = lib.concatStrings [ + "[](red)" "$os" "$username" - "$hostname" + "[](bg:peach fg:red)" "$directory" + "[](bg:yellow fg:peach)" "$git_branch" "$git_status" - "$nix_shell" + "[](fg:yellow bg:green)" "$nodejs" "$python" - "$go" - "$rust" + "$golang" + "$nix_shell" + "[](fg:green bg:sapphire)" "$docker_context" + "[](fg:sapphire bg:lavender)" + "$time" + "[ ](fg:lavender)" "$cmd_duration" "$line_break" "$character" ]; - character = { - success_symbol = "[❯](bold green)"; - error_symbol = "[❯](bold red)"; - }; - os = { disabled = false; + style = "bg:red fg:crust"; symbols = { - NixOS = " "; - Linux = " "; - Macos = " "; - Windows = "󰖳 "; + Linux = "󰌽"; + Macos = "󰀵"; + 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 = " "; + Developer = "󰲋 "; Documents = "󰈙 "; - Downloads = " "; + Downloads = " "; + Music = "󰝚 "; + Pictures = " "; }; }; - git_branch.symbol = " "; + git_branch = { + symbol = ""; + style = "bg:yellow"; + format = "[[ $symbol $branch ](fg:crust bg:yellow)]($style)"; + }; git_status = { - format = "([\\[$all_status$ahead_behind\\]]($style) )"; - }; - - nix_shell = { - symbol = " "; - format = "[$symbol$state( \\($name\\))]($style) "; - }; - - docker_context = { - symbol = " "; - format = "[$symbol$context]($style) "; - }; - - cmd_duration = { - min_time = 2000; - format = "[$duration]($style) "; + style = "bg:yellow"; + format = "[[($all_status$ahead_behind )](fg:crust bg:yellow)]($style)"; }; nodejs = { - format = "[$symbol($version)]($style) "; + symbol = ""; + style = "bg:green"; + format = "[[ $symbol( $version) ](fg:crust bg:green)]($style)"; detect_extensions = [ ]; }; - python.format = "[$symbol($version)]($style) "; - go.format = "[$symbol($version)]($style) "; - rust.format = "[$symbol($version)]($style) "; + python = { + symbol = ""; + style = "bg:green"; + format = "[[ $symbol( $version)(\\($virtualenv\\)) ](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)"; + }; + + 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; + }; }; }; }