snowflake/home/programs/terminal/starship.nix

116 lines
2.8 KiB
Nix
Raw Permalink Normal View History

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 [
2024-05-31 11:26:30 -04:00
"$direnv"
2023-11-27 07:23:51 -05:00
"$nix_shell"
2023-04-23 17:45:37 -04:00
];
2023-11-27 07:23:51 -05:00
character = {
error_symbol = "[](bold red)";
2024-04-17 23:53:27 -04:00
success_symbol = "[](bold white)";
2023-11-27 07:23:51 -05:00
};
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 = "🌐";
2024-05-31 11:26:30 -04:00
format = "[$hostname $ssh_symbol]($style)";
2023-11-27 07:23:51 -05:00
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 = "🔒";
2024-04-17 23:53:27 -04:00
style = "red";
2023-11-27 07:23:51 -05:00
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)";
2024-04-17 23:53:27 -04:00
format = "[$state( \($name\))](bold white)";
2023-04-23 17:45:37 -04:00
};
2024-05-31 11:26:30 -04:00
direnv = {
disabled = false;
detect_files = [".envrc"];
style = "bold turquoise";
};
2023-04-23 17:45:37 -04:00
git_branch = {
symbol = "";
2023-11-27 07:23:51 -05:00
format = "[$symbol $branch ]($style)";
2024-05-31 11:26:30 -04:00
style = "turquoise";
2023-04-23 17:45:37 -04:00
};
git_status = {
format = "[$all_status$ahead_behind ]($style)";
2024-04-17 23:53:27 -04:00
style = "red";
2023-04-23 17:45:37 -04:00
};
golang = {
2024-05-31 11:26:30 -04:00
symbol = "";
2023-11-27 07:23:51 -05:00
format = "[$symbol ($version) ]($style)";
2024-05-31 11:26:30 -04:00
style = "teal";
2023-04-23 17:45:37 -04:00
};
rust = {
symbol = "";
2023-11-27 07:23:51 -05:00
format = "[$symbol ($version) ]($style)";
2024-05-31 11:26:30 -04:00
style = "orange";
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
}