2023-03-11 21:26:02 -05:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
lib,
|
|
|
|
...
|
|
|
|
}: {
|
2023-01-30 11:32:16 -05:00
|
|
|
home.sessionVariables.STARSHIP_CACHE = "${config.xdg.cacheHome}/starship";
|
|
|
|
|
|
|
|
programs.starship = {
|
|
|
|
enable = true;
|
2023-04-15 21:43:07 -04:00
|
|
|
enableNushellIntegration = true;
|
2023-01-30 11:32:16 -05:00
|
|
|
settings = {
|
2023-11-27 07:23:51 -05:00
|
|
|
palette = "tokyonight";
|
|
|
|
add_newline = false;
|
|
|
|
palettes.tokyonight = {
|
|
|
|
red = "#f7768e";
|
|
|
|
orange = "#ff9e64";
|
|
|
|
yellow = "#e0af68";
|
|
|
|
light-green = "#9ece6a";
|
|
|
|
green = "#73daca";
|
|
|
|
turquoise = "#89ddff";
|
|
|
|
light-cyan = "#b4f9f8";
|
|
|
|
teal = "#2ac3de";
|
|
|
|
cyan = "#7dcfff";
|
|
|
|
blue = "#7aa2f7";
|
|
|
|
magenta = "#bb9af7";
|
|
|
|
white = "#c0caf5";
|
|
|
|
light-gray = "#9aa5ce";
|
|
|
|
parameters = "#cfc9c2";
|
|
|
|
comment = "#565f89";
|
|
|
|
black = "#414868";
|
|
|
|
foreground = "#a9b1d6";
|
|
|
|
background = "#1a1b26";
|
|
|
|
};
|
2023-04-23 17:45:37 -04:00
|
|
|
format = lib.concatStrings [
|
2023-11-27 07:23:51 -05:00
|
|
|
"$character"
|
2023-04-23 17:45:37 -04:00
|
|
|
"$hostname"
|
|
|
|
"$directory"
|
|
|
|
"$git_branch"
|
|
|
|
"$git_status"
|
|
|
|
"$rust"
|
2023-11-27 07:23:51 -05:00
|
|
|
"$golang"
|
|
|
|
];
|
|
|
|
right_format = lib.concatStrings [
|
|
|
|
"$nix_shell"
|
2023-04-23 17:45:37 -04:00
|
|
|
];
|
2023-11-27 07:23:51 -05:00
|
|
|
character = {
|
|
|
|
error_symbol = "[](bold red)";
|
|
|
|
success_symbol = "[](bold teal)";
|
|
|
|
};
|
2023-04-23 17:45:37 -04:00
|
|
|
username = {
|
2023-11-27 07:23:51 -05:00
|
|
|
show_always = false;
|
|
|
|
format = "[$user]($style)";
|
|
|
|
style_user = "red";
|
2023-04-23 17:45:37 -04:00
|
|
|
};
|
|
|
|
hostname = {
|
2023-11-27 07:23:51 -05:00
|
|
|
ssh_symbol = "🌐";
|
|
|
|
format = "[on $hostname $ssh_symbol]($style)";
|
|
|
|
ssh_only = true;
|
2023-04-23 17:45:37 -04:00
|
|
|
disabled = false;
|
|
|
|
};
|
|
|
|
directory = {
|
2023-11-27 07:23:51 -05:00
|
|
|
format = "[$path ]($style)";
|
2023-04-23 17:45:37 -04:00
|
|
|
truncation_length = 3;
|
|
|
|
truncation_symbol = "…/";
|
2023-11-27 07:23:51 -05:00
|
|
|
read_only = "🔒";
|
|
|
|
style = "teal";
|
|
|
|
home_symbol = "";
|
2023-04-23 17:45:37 -04:00
|
|
|
};
|
|
|
|
directory.substitutions = {
|
|
|
|
"Documents" = " ";
|
|
|
|
"Downloads" = " ";
|
|
|
|
"Music" = " ";
|
|
|
|
"Pictures" = " ";
|
|
|
|
};
|
2023-11-27 07:23:51 -05:00
|
|
|
nix_shell = {
|
|
|
|
disabled = false;
|
|
|
|
impure_msg = "[impure shell](bold red)";
|
|
|
|
pure_msg = "[pure shell](bold green)";
|
|
|
|
unknown_msg = "[unknown shell](bold yellow)";
|
|
|
|
format = "via [ $state( \($name\))](bold teal)";
|
2023-04-23 17:45:37 -04:00
|
|
|
};
|
|
|
|
git_branch = {
|
|
|
|
symbol = "";
|
2023-11-27 07:23:51 -05:00
|
|
|
format = "[$symbol $branch ]($style)";
|
2023-04-23 17:45:37 -04:00
|
|
|
};
|
|
|
|
git_status = {
|
|
|
|
format = "[$all_status$ahead_behind ]($style)";
|
|
|
|
};
|
|
|
|
golang = {
|
|
|
|
symbol = " ";
|
2023-11-27 07:23:51 -05:00
|
|
|
format = "[$symbol ($version) ]($style)";
|
2023-04-23 17:45:37 -04:00
|
|
|
};
|
|
|
|
rust = {
|
|
|
|
symbol = "";
|
2023-11-27 07:23:51 -05:00
|
|
|
format = "[$symbol ($version) ]($style)";
|
2023-04-23 17:45:37 -04:00
|
|
|
};
|
|
|
|
time = {
|
|
|
|
disabled = false;
|
2023-11-27 07:23:51 -05:00
|
|
|
time_format = "%R";
|
2023-04-23 17:45:37 -04:00
|
|
|
format = "[ $time ]($style)";
|
2023-11-27 07:23:51 -05:00
|
|
|
style = "red";
|
2023-04-23 17:45:37 -04:00
|
|
|
};
|
2023-01-30 11:32:16 -05:00
|
|
|
};
|
|
|
|
};
|
2023-04-23 17:45:37 -04:00
|
|
|
}
|