nix-conf/user/config/starship/default.nix
2024-12-31 21:25:34 -05:00

70 lines
1.6 KiB
Nix

{
config,
lib,
...
}: {
programs.starship = {
enable = true;
settings = lib.mkDefault {
format = lib.concatStrings [
"$username"
"$hostname"
"$directory"
"([\\[ $git_branch"
"$git_commit"
"$git_state"
"$git_metrics"
"$git_status\\]](bold) )"
"$cmd_duration"
"$line_break"
"$jobs"
"$shlvl"
"$status"
"$nix_shell"
"$character"
];
palettes = {
default = {
c1 = "#e34f7c"; # red
c2 = "#4571a2"; # blue
c3 = "#443f59"; # purple
};
};
palette = "default";
status = {
disabled = false;
symbol = "x";
};
character = {
success_symbol = "[\\$](bold green)";
error_symbol = "[\\$](bold red)";
};
username = {
show_always = true;
format = "[ $user ](c1 inverted)";
};
directory = {
format = "[ $path[$read_only](red bg:c3) ](white bg:c3) ";
read_only = " [ro]";
};
shlvl = {
disabled = false;
symbol = "#";
};
nix_shell = {
format = "[$symbol]($style) ";
symbol = "*";
};
git_branch.format = "[$branch(:$remote_branch)]($style) ";
git_metrics.format = "(|([ $added]($added_style))([ $deleted]($deleted_style)) )";
git_metrics.disabled = false;
git_status.format = "(| [$all_status$ahead_behind]($style) )";
cmd_duration.format = "[\\[$duration\\]]($style) ";
hostname.format = "[ @$hostname ](bg:c2)";
};
};
}