170 lines
4.7 KiB
Nix
170 lines
4.7 KiB
Nix
theme: with theme; {
|
||
format = "$username$hostname$directory($git_branch$git_commit$git_state$git_status)($c$deno$golang$haskell$nodejs$php$python$ruby$rust$terraform[](fg:#F85E84 bg:${base00}))($docker_context[](fg:#06969A))($container)$fill(\${custom.triton})$nix_shell$status[ |](fg:#F85E84)$line_break$character";
|
||
|
||
# Disable the blank line at the start of the prompt
|
||
add_newline = false;
|
||
|
||
# You can also replace your username with a neat symbol like to save some space
|
||
username = {
|
||
style_user = "bg:${base00} fg:#F85E84";
|
||
style_root = "bg:#F85E84 fg:${base00}";
|
||
format = ''[$user ]($style)'';
|
||
};
|
||
|
||
hostname = {
|
||
ssh_symbol = "";
|
||
trim_at = "";
|
||
style = "bg:${base00} fg:#F85E84";
|
||
};
|
||
|
||
character = {
|
||
success_symbol = "[❯](bold purple)";
|
||
error_symbol = "[✗](#FF4B00)";
|
||
};
|
||
|
||
status = {
|
||
disabled = false;
|
||
style = "#FF4B00";
|
||
};
|
||
|
||
fill = {
|
||
symbol = "-";
|
||
#style = "bold green";
|
||
style = "black";
|
||
};
|
||
|
||
directory = {
|
||
style = "#F85E84";
|
||
truncate_to_repo = false;
|
||
fish_style_pwd_dir_length = 1;
|
||
truncation_symbol = "…/";
|
||
format = "[](fg:black bg:#F85E84)[$path[$read_only](bg:$style fg:black)](bg:$style fg:black)[](fg:$style)";
|
||
read_only = " ";
|
||
};
|
||
|
||
# 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)'';
|
||
};
|
||
|
||
#container = {};
|
||
|
||
custom = {
|
||
triton = {
|
||
command = "echo $TRITON_PROFILE";
|
||
when = "test $TRITON_PROFILE";
|
||
format = "[✚ ](fg:#F85E84 bg:#1A181A)[$output](fg:#F85E84 bg:#1A181A)";
|
||
description = "The current triton profile";
|
||
};
|
||
};
|
||
|
||
docker_context = {
|
||
symbol = " ";
|
||
style = "bg:#06969A";
|
||
format = ''[ $symbol $context ]($style) $path'';
|
||
};
|
||
|
||
#deno = {};
|
||
|
||
git_branch = {
|
||
style = "#E5C463";
|
||
format = "[](fg:black bg:$style)[ $symbol$branch](fg:black bg:$style)[](fg:$style)";
|
||
symbol = " ";
|
||
};
|
||
|
||
git_commit = {
|
||
style = "#E5C463";
|
||
# ^H is the literal backspace character which renders to \b in the final
|
||
# starship config TOML, produced in insert mode via ctrl+v then ctrl+h.
|
||
# We use the literal character, because escaping a single \ doesn't work
|
||
# with pkgs.formats.toml, see: https://github.com/NixOS/nixpkgs/issues/97310 and
|
||
# https://jdhao.github.io/2020/10/07/nvim_insert_unicode_char/
|
||
format = "[ ](bg:$style)[\\($hash$tag\\)](fg:black bg:$style)[](fg:$style)";
|
||
};
|
||
|
||
git_state = {
|
||
style = "#E5C463";
|
||
format = "[ ](bg:$style)[ \\($state( $progress_current/$progress_total)\\)](fg:black bg:$style)[](fg:$style)";
|
||
};
|
||
|
||
git_status = {
|
||
style = "#E5C463";
|
||
format = "([ ](bg:$style fg:black)$conflicted$staged$modified$renamed$deleted$untracked$stashed$ahead_behind[](fg:$style))";
|
||
conflicted = "[ ](bold fg:88 bg:#E5C463)[ \${count} ](fg:black bg:#E5C463)";
|
||
staged = "[ $count ](fg:black bg:#E5C463)";
|
||
modified = "[ \${count} ](fg:black bg:#E5C463)";
|
||
renamed = "[ \${count} ](fg:black bg:#E5C463)";
|
||
deleted = "[ \${count} ](fg:black bg:#E5C463)";
|
||
untracked = "[?\${count} ](fg:black bg:#E5C463)";
|
||
stashed = "[ \${count} ](fg:black bg:#E5C463)";
|
||
ahead = "[ \${count} ](fg:#523333 bg:#E5C463)";
|
||
behind = "[ \${count} ](fg:black bg:#E5C463)";
|
||
diverged = "[ ](fg:88 bg:#E5C463)[ ](fg:black bg:#E5C463)[ \${ahead_count} ](fg:black bg:#E5C463)[ \${behind_count} ](fg:black bg:#E5C463)";
|
||
};
|
||
|
||
golang = {
|
||
symbol = " ";
|
||
style = "bg:#86BBD8";
|
||
format = ''[ $symbol ($version) ]($style)'';
|
||
};
|
||
|
||
haskell = {
|
||
symbol = " ";
|
||
style = "bg:#86BBD8";
|
||
format = ''[ $symbol ($version) ]($style)'';
|
||
};
|
||
|
||
nix_shell = {
|
||
format = ''[$symbol]($style) '';
|
||
symbol = " ";
|
||
};
|
||
|
||
nodejs = {
|
||
symbol = "";
|
||
style = "bg:#86BBD8";
|
||
format = ''[ $symbol ($version) ]($style)'';
|
||
};
|
||
|
||
php = {
|
||
symbol = " ";
|
||
};
|
||
|
||
python = {
|
||
symbol = " ";
|
||
};
|
||
|
||
ruby = {
|
||
symbol = " ";
|
||
};
|
||
|
||
rust = {
|
||
symbol = "";
|
||
style = "bg:#86BBD8";
|
||
format = ''[ $symbol ($version) ]($style)'';
|
||
};
|
||
|
||
#terraform = {};
|
||
|
||
time = {
|
||
disabled = false;
|
||
time_format = "%R"; # Hour:Minute Format
|
||
style = "bg:#33658A";
|
||
format = ''[ ♥ $time ]($style)'';
|
||
};
|
||
}
|