46 lines
1.3 KiB
Nix
46 lines
1.3 KiB
Nix
{
|
||
programs.starship = {
|
||
enable = true;
|
||
enableFishIntegration = true;
|
||
settings = {
|
||
add_newline = true;
|
||
command_timeout = 2000;
|
||
format = "[$directory$\{custom.jj}]($style)$character";
|
||
character = {
|
||
error_symbol = "[✗ ](bold #e64553)";
|
||
success_symbol = "[❯](bold #40a02b)[❯](bold #df8e1d)[❯](bold #dc8a78)";
|
||
};
|
||
directory = {
|
||
truncation_length = 2;
|
||
truncation_symbol = "…/";
|
||
repo_root_style = "bold cyan";
|
||
repo_root_format = "[$repo_root]($repo_root_style)[$path]($style)[$read_only]($read_only_style) ";
|
||
};
|
||
custom.jj = {
|
||
command = ''
|
||
jj log --revisions @ --no-graph --ignore-working-copy --color always --limit 1 --template '
|
||
separate(" ",
|
||
change_id.shortest(4),
|
||
bookmarks,
|
||
"|",
|
||
concat(
|
||
if(conflict, "💥"),
|
||
if(divergent, "🚧"),
|
||
if(hidden, "👻"),
|
||
if(immutable, "🔒"),
|
||
),
|
||
raw_escape_sequence("\x1b[1;32m") ++ if(empty, "(empty)"),
|
||
raw_escape_sequence("\x1b[1;32m") ++ coalesce(
|
||
truncate_end(29, description.first_line(), "…"),
|
||
"(no description set)",
|
||
) ++ raw_escape_sequence("\x1b[0m"),
|
||
)
|
||
'
|
||
'';
|
||
when = "jj --ignore-working-copy root";
|
||
symbol = "🥋";
|
||
};
|
||
};
|
||
};
|
||
}
|