{ 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 = "🥋"; }; }; }; }