{ flake, lib, ... }: let inherit (flake.config.aesthetics.themes.schemes.catppuccin-macchiato) colours ; makeColor = c: "#" + c; makeStyle = bg: fg: "bg:" + bg + " fg:" + fg + " bold"; surround = fg: text: "[](fg:" + makeColor colours.base + " bg:" + fg + ")" + "[█](fg:" + fg + ")" + text + "[█](fg:" + fg + ")"; in { add_newline = false; character = let makeChar = bg: c: surround (makeColor bg) ("[" + c + "](" + makeStyle (makeColor bg) (makeColor colours.crust) + ")"); in { error_symbol = makeChar colours.maroon "⊥"; format = "$symbol"; success_symbol = makeChar colours.teal "λ"; }; cmd_duration = { format = surround (makeColor colours.mauve) "[ $duration]($style)"; min_time = 0; show_milliseconds = true; style = makeStyle (makeColor colours.mauve) (makeColor colours.crust); }; directory = { format = surround (makeColor colours.blue) "[󰉋 $path]($style)[$read_only]($read_only_style)"; read_only = "  "; read_only_style = makeStyle (makeColor colours.blue) (makeColor colours.crust); style = makeStyle (makeColor colours.blue) (makeColor colours.crust); truncation_length = 1; truncate_to_repo = false; }; git_branch = { format = surround (makeColor colours.peach) "[$symbol $branch]($style)"; style = makeStyle (makeColor colours.peach) (makeColor colours.crust); symbol = ""; }; git_status = { format = "[ \\[$all_status$ahead_behind\\]]($style)"; style = makeStyle (makeColor colours.yellow) (makeColor colours.crust); }; hostname = { format = surround (makeColor colours.sapphire) "[$ssh_symbol$hostname]($style)"; ssh_symbol = "󰖟 "; style = makeStyle (makeColor colours.sapphire) (makeColor colours.crust); }; pijul_channel = { disabled = false; format = surround (makeColor colours.peach) "[$symbol $channel]($style)"; style = makeStyle (makeColor colours.peach) (makeColor colours.crust); symbol = ""; }; format = lib.concatStrings [ "$hostname" "$directory" "$pijul_channel" "$git_branch" "$cmd_duration" "$character " ]; }