For years I’ve used a home-grown bash prompt. Recently I started having some rendering issues in tmux where my display would be off by one line. I suspect I had some double width characters in the prompt that caused tmux, expecially when it was on a remote machine I was ssh’d into, to get confused.
After hunting around I found LiquidPrompt. I’ve been happily using it on all my machines, macOS and Linux, for several months now.