2023-11-06 21:54:14 +01:00
|
|
|
{lib, ...}:
|
2023-11-05 17:56:55 +01:00
|
|
|
{
|
2023-11-05 11:40:44 +01:00
|
|
|
programs.starship = {
|
|
|
|
|
enable = true;
|
2023-11-06 21:54:14 +01:00
|
|
|
enableFishIntegration = true;
|
|
|
|
|
|
|
|
|
|
settings = {
|
|
|
|
|
format = lib.concatStrings [
|
|
|
|
|
#"[ ](fg:#1e1e2e bg:#ff00aa)"
|
|
|
|
|
#"$username"
|
|
|
|
|
#"[](fg:#ff00aa)"
|
|
|
|
|
"$directory"
|
|
|
|
|
"[](fg:#1e1e2e bg:#cba6f7)"
|
|
|
|
|
"$git_branch"
|
|
|
|
|
"$git_status"
|
|
|
|
|
"[](fg:#cba6f7 bg:#89b4fa)"
|
|
|
|
|
"$c"
|
|
|
|
|
"$elixir"
|
|
|
|
|
"$elm"
|
|
|
|
|
"$golang"
|
|
|
|
|
"$haskell"
|
|
|
|
|
"$java"
|
|
|
|
|
"$julia"
|
|
|
|
|
"$nodejs"
|
|
|
|
|
"$nim"
|
|
|
|
|
"$rust"
|
|
|
|
|
"[](fg:#89b4fa bg:#94e2d5)"
|
|
|
|
|
"$nix_shell"
|
|
|
|
|
"$docker_context"
|
|
|
|
|
"[ ](fg:#94e2d5)"
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
add_newline = false; # Disable the blank line at the start of the prompt
|
|
|
|
|
|
|
|
|
|
# You can also replace your username with a neat symbol like to save some space
|
|
|
|
|
username = {
|
|
|
|
|
show_always = true;
|
|
|
|
|
#style_user = "fg:#11111b bg:#89B4FA";
|
|
|
|
|
#style_root = "fg:#11111b bg:#cba6f7";
|
|
|
|
|
#format = "[$user ]($style)";
|
|
|
|
|
format = "[ ](fg:#11111b bg:#ff00aa)";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
directory = {
|
|
|
|
|
style = "fg:#cdd6f4";
|
|
|
|
|
format = "[ $path ]($style)";
|
|
|
|
|
truncation_length = 3;
|
|
|
|
|
truncation_symbol = "../";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
# Here is how you can shorten some long paths by text replacement
|
|
|
|
|
# similar to mapped_locations in Oh My Posh:
|
|
|
|
|
#[directory.substitutions]
|
|
|
|
|
#"Documents" = " "
|
|
|
|
|
#"Downloads" = " "
|
|
|
|
|
#"Music" = " "
|
|
|
|
|
#"Pictures" = " "
|
|
|
|
|
#"~" = " "
|
|
|
|
|
# Keep in mind that the order matters. For example:
|
|
|
|
|
# "Important Documents" = " "
|
|
|
|
|
# will not be replaced, because "Documents" was already substituted before.
|
|
|
|
|
# So either put "Important Documents" before "Documents" or use the substituted version:
|
|
|
|
|
# "Important " = " "
|
|
|
|
|
|
|
|
|
|
c = {
|
|
|
|
|
symbol = " ";
|
|
|
|
|
style = "fg:#11111b bg:#89b4fa";
|
|
|
|
|
format = "[[ $symbol ($version) ](fg:#11111b bg:#89b4fa)]($style)";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
docker_context = {
|
|
|
|
|
symbol = " ";
|
|
|
|
|
style = "fg:#11111b bg:#94e2d5";
|
|
|
|
|
format = "[[ $symbol $context ](fg:#11111b bg:#94e2d5)]($style) $path";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
elixir = {
|
|
|
|
|
symbol = " ";
|
|
|
|
|
style = "fg:#11111b bg:#89b4fa";
|
|
|
|
|
format = "[[ $symbol ($version) ](fg:#11111b bg:#89b4fa)]($style)";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
elm = {
|
|
|
|
|
symbol = " ";
|
|
|
|
|
style = "fg:#11111b bg:#89b4fa";
|
|
|
|
|
format = "[[ $symbol ($version) ](fg:#11111b bg:#89b4fa)]($style)";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
git_branch = {
|
|
|
|
|
symbol = "";
|
|
|
|
|
style = "fg:#11111b bg:#cba6f7";
|
|
|
|
|
format = "[[ $symbol $branch ](fg:#11111b bg:#cba6f7)]($style)";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
git_status = {
|
|
|
|
|
style = "fg:#11111b bg:#cba6f7";
|
|
|
|
|
format = "[[($all_status$ahead_behind )](fg:#11111b bg:#cba6f7)]($style)";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
golang = {
|
|
|
|
|
symbol = " ";
|
|
|
|
|
style = "fg:#11111b bg:##89b4fa";
|
|
|
|
|
#format = "[[ $symbol ($version) ](fg:#11111b bg:#89b4fa)]($style)";
|
|
|
|
|
format = "[[ $symbol](fg:#11111b bg:#89b4fa)]($style)";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
haskell = {
|
|
|
|
|
symbol = " ";
|
|
|
|
|
style = "fg:#11111b bg:#89b4fa";
|
|
|
|
|
format = "[[ $symbol ($version) ](fg:#11111b bg:#89b4fa)]($style)";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
java = {
|
|
|
|
|
symbol = " ";
|
|
|
|
|
style = "fg:#11111b bg:#89b4fa";
|
|
|
|
|
format = "[[ $symbol ($version) ](fg:#11111b bg:#89b4fa)]($style)";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
julia = {
|
|
|
|
|
symbol = " ";
|
|
|
|
|
style = "fg:#11111b bg:#89b4fa";
|
|
|
|
|
format = "[[ $symbol ($version) ](fg:#11111b bg:#89b4fa)]($style)";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
nodejs = {
|
|
|
|
|
symbol = "";
|
|
|
|
|
style = "fg:#11111b bg:#89b4fa";
|
|
|
|
|
format = "[[ $symbol ($version) ](fg:#11111b bg:#89b4fa)]($style)";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
nim = {
|
|
|
|
|
symbol = " ";
|
|
|
|
|
style = "fg:#11111b bg:#89b4fa";
|
|
|
|
|
format = "[[ $symbol ($version) ](fg:#11111b bg:#89b4fa)]($style)";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
nix_shell = {
|
|
|
|
|
symbol = " ";
|
|
|
|
|
impure_msg = "i";
|
|
|
|
|
pure_msg = "p";
|
|
|
|
|
unknown_msg = "u";
|
|
|
|
|
style = "fg:#11111b bg:#94e2d5";
|
|
|
|
|
format = "[[ $symbol$state:$name ](fg:#11111b bg:#94e2d5)]($style)";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
rust = {
|
|
|
|
|
symbol = "";
|
|
|
|
|
style = "fg:#11111b bg:#89b4fa";
|
|
|
|
|
format = "[[ $symbol ($version) ](fg:#11111b bg:#89b4fa)]($style)";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
time = {
|
|
|
|
|
disabled = false;
|
|
|
|
|
time_format = "%R"; # Hour:Minute Format
|
|
|
|
|
style = "fg:#11111b bg:#89b4fa";
|
|
|
|
|
format = "[[ $time ](fg:#11111b bg:#89b4fa)]($style)";
|
|
|
|
|
};
|
|
|
|
|
};
|
2023-11-05 11:40:44 +01:00
|
|
|
};
|
|
|
|
|
}
|