{ config, pkgs, lib, stylix, ... }: let orangeColor = "#${config.lib.stylix.colors.base0C}"; yellowColor = "#${config.lib.stylix.colors.base0A}"; blueColor = "#${config.lib.stylix.colors.base08}"; whiteColor = "#${config.lib.stylix.colors.base07}"; blackColor = "#${config.lib.stylix.colors.base00}"; redColor = "#${config.lib.stylix.colors.base0E}"; in { programs.starship = { enable = true; enableBashIntegration = true; settings = { format = lib.concatStrings [ "[](${whiteColor})" "$time" "[](${whiteColor}) " "[](${orangeColor})" "$username" "$hostname" "[](bg:${yellowColor} fg:${orangeColor})" "$directory" "[](fg:${yellowColor} bg:${blueColor})" "$git_branch" "$git_status" "$rust" "$docker_context" "$nix_shell" "[](fg:${blueColor} bg:${redColor})" "$status" "[ ](fg:${redColor})" ]; username = { show_always = true; style_user = "fg:${blackColor} bg:${orangeColor}"; style_root = "fg:${blackColor} bg:${orangeColor}"; format = "[$user]($style)"; disabled = false; }; hostname = { ssh_only = true; style = "fg:${blackColor} bg:${orangeColor}"; format = "[@$hostname]($style)"; disabled = false; }; os = { style = "bg:${orangeColor}"; disabled = true; }; nix_shell = { disabled = false; heuristic = true; symbol = " "; format = "[$symbol$state(\($name\))]($style)"; style = "fg:${whiteColor} bg:${blueColor}"; }; directory = { style = "fg:${blackColor} bg:${yellowColor}"; format = "[ $path ]($style)"; truncation_length = 3; truncation_symbol = "…/"; substitutions = { Documents = "󰈙 "; Downloads = " "; Music = " "; Pictures = " "; }; }; git_branch = { symbol = ""; style = "fg:${whiteColor} bg:${blueColor}"; format = "[ $symbol $branch ]($style)"; }; git_status = { style = "fg:${whiteColor} bg:${blueColor}"; format = "[$all_status$ahead_behind ]($style)"; }; status = { style = "fg:${whiteColor} bg:${redColor}"; format = "[$status ]($style)"; disabled = false; }; time = { disabled = false; time_format = "%R"; # Hour:Minute Format style = "fg:${blackColor} bg:${whiteColor}"; format = "[ $time]($style)"; }; }; }; }