82 lines
2.2 KiB
Nix
82 lines
2.2 KiB
Nix
|
{
|
|||
|
config,
|
|||
|
lib,
|
|||
|
...
|
|||
|
}: let
|
|||
|
inherit (lib) concatStrings mkIf;
|
|||
|
|
|||
|
cfg = config.programs.bash;
|
|||
|
in {
|
|||
|
programs.starship = mkIf cfg.enable {
|
|||
|
enable = true;
|
|||
|
enableBashIntegration = true;
|
|||
|
|
|||
|
settings = {
|
|||
|
format = concatStrings [
|
|||
|
"╭╴"
|
|||
|
"[](fg:${cfg.promptColors.firstColor})"
|
|||
|
"[ ](bg:${cfg.promptColors.firstColor} fg:#090c0c)"
|
|||
|
"[](bg:${cfg.promptColors.secondColor} fg:${cfg.promptColors.firstColor})"
|
|||
|
"$username$hostname"
|
|||
|
"[](fg:${cfg.promptColors.secondColor} bg:${cfg.promptColors.thirdColor})"
|
|||
|
"$directory"
|
|||
|
"[](fg:${cfg.promptColors.thirdColor} bg:${cfg.promptColors.fourthColor})"
|
|||
|
"$git_branch"
|
|||
|
"[](fg:${cfg.promptColors.fourthColor})$shlvl$nix_shell"
|
|||
|
"\n╰╴$character"
|
|||
|
];
|
|||
|
|
|||
|
username = {
|
|||
|
show_always = true;
|
|||
|
style_user = "fg:${cfg.promptColors.textColor} bg:${cfg.promptColors.secondColor}";
|
|||
|
style_root = "fg:red bg:${cfg.promptColors.secondColor} blink";
|
|||
|
format = "[ $user]($style)";
|
|||
|
};
|
|||
|
|
|||
|
hostname = {
|
|||
|
ssh_only = false;
|
|||
|
style = "fg:${cfg.promptColors.textColor} bg:${cfg.promptColors.secondColor}";
|
|||
|
format = "[@$hostname ]($style)";
|
|||
|
};
|
|||
|
|
|||
|
directory = {
|
|||
|
style = "fg:${cfg.promptColors.firstColor} bg:${cfg.promptColors.thirdColor}";
|
|||
|
format = "[ $path ]($style)";
|
|||
|
truncate_to_repo = false;
|
|||
|
truncation_length = 0;
|
|||
|
|
|||
|
substitutions = {
|
|||
|
"Documents" = " ";
|
|||
|
"Downloads" = " ";
|
|||
|
"Music" = " ";
|
|||
|
"Pictures" = " ";
|
|||
|
};
|
|||
|
};
|
|||
|
|
|||
|
git_branch = {
|
|||
|
style = "fg:${cfg.promptColors.secondColor} bg:${cfg.promptColors.fourthColor}";
|
|||
|
symbol = "";
|
|||
|
format = "[ $symbol $branch ]($style)";
|
|||
|
};
|
|||
|
|
|||
|
shlvl = {
|
|||
|
disabled = false;
|
|||
|
repeat = true;
|
|||
|
symbol = " ";
|
|||
|
format = "[ $symbol]($style)";
|
|||
|
threshold = 1;
|
|||
|
};
|
|||
|
|
|||
|
nix_shell = {
|
|||
|
symbol = "❄️ ";
|
|||
|
format = "[ $symbol]($style)";
|
|||
|
};
|
|||
|
|
|||
|
character = {
|
|||
|
success_symbol = "[\\$](bold green)";
|
|||
|
error_symbol = "[\\$](bold red)";
|
|||
|
};
|
|||
|
};
|
|||
|
};
|
|||
|
}
|