RedNix-Base/Modules/home/Starship.nix

138 lines
3.4 KiB
Nix
Raw Normal View History

2024-10-18 15:47:06 +02:00
{ config, pkgs, ... }:
{
programs.starship = {
enable = true;
# Configuration written to ~/.config/starship.toml
settings = {
add_newline = true;
format = "[](#f50505)$os$username[](bg:#E40046 fg:#f50505)$directory[](fg:#E40046 bg:#5018dd)$git_branch$git_status[](fg:#5018dd bg:#86BBD8)$c$elixir$elm$golang$gradle$haskell$java$julia$nodejs$nim$rust$scala[](fg:#86BBD8 bg:#06969A)$docker_context[](fg:#06969A bg:#5018dd)$time[ ](fg:#5018dd)";
# Disable the blank line at the start of the prompt
# You can also replace your username with a neat symbol like  or disable this
# and use the os module below
username = {
show_always = true;
style_user = "bg:#f50505";
style_root = "bg:#f50505";
format = "[$user ]($style)";
disabled = false;
};
#An alternative to the username module which displays a symbol that
# represents the current operating system
os = {
style = "bg:#f50505";
disabled = false; # Disabled by default
};
directory = {
style = "bg:#E40046";
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 = "bg:#86BBD8";
format = "[ $symbol ($version) ]($style)";
};
docker_context = {
symbol = " ";
style = "bg:#06969A";
format = "[ $symbol $context ]($style)";
};
elixir = {
symbol = " ";
style = "bg:#86BBD8";
format = "[ $symbol ($version) ]($style)";
};
elm = {
symbol = " ";
style = "bg:#86BBD8";
format = "[ $symbol ($version) ]($style)";
};
git_branch = {
symbol = "";
style = "bg:#5018dd";
format = "[ $symbol $branch ]($style)";
};
git_status = {
style = "bg:#5018dd";
format = "[$all_status$ahead_behind ]($style)";
};
golang = {
symbol = " ";
style = "bg:#86BBD8";
format = "[ $symbol ($version) ]($style)";
};
gradle = {
style = "bg:#86BBD8";
format = "[ $symbol ($version) ]($style)";
};
haskell = {
symbol = " ";
style = "bg:#86BBD8";
format = "[ $symbol ($version) ]($style)";
};
java = {
symbol = " ";
style = "bg:#86BBD8";
format = "[ $symbol ($version) ]($style)";
};
julia = {
symbol = " ";
style = "bg:#86BBD8";
format = "[ $symbol ($version) ]($style)";
};
nodejs = {
symbol = "";
style = "bg:#86BBD8";
format = "[ $symbol ($version) ]($style)";
};
nim = {
symbol = "󰆥 ";
style = "bg:#86BBD8";
format = "[ $symbol ($version) ]($style)";
};
rust = {
symbol = "";
style = "bg:#86BBD8";
format = "[ $symbol ($version) ]($style)";
};
scala = {
symbol = " ";
style = "bg:#86BBD8";
format = "[ $symbol ($version) ]($style)";
};
time = {
disabled = false;
time_format = "%R"; # Hour:Minute Format
style = "bg:#5018dd";
format = "[ $time ]($style)";
};
};
};
}