F45 Change Proposal: Bash Color Prompt 1.0 (system-wide)

Bash Color Prompt 1.0

This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee.

Wiki
Announced

:link: Summary

bash-color-prompt (BCP) version 1.0 is a rewrite of the Changes/Color_Bash_Prompt (introduced in Fedora 39) with a new cleaner simple design, which leans on bash PROMPT_COMMAND for updating dynamic prompts. The default system prompt (still green) is much simpler now and there is only one predefined function, which enables optional customization.

:link: Owner

:link: Detailed Description

This is a major update of the current bash-color-prompt package with a cleaner more declarative “builder pattern”-style approach, which makes it much easier for users to create their own highly customizable bash prompts just by sequencing various helper functions.

Users can enable customization by add bcp_setup to their ~/.bashrc, which sets up PROMPT_COMMAND for dynamic prompts by appending the _bcp_build_prompt function. Users can then define bcp_layout() to create a custom prompt if they so wish, with features like: timestamps, git branch, last command duration/exitcode, shell level, container prefix, etc.

:link: Feedback

:link: Benefit to Fedora

Shell prompts are an important part of a terminal shell and this change will improve Fedora’s Bash prompt user experience.

:link: Scope

  • Proposal owners:

    • (optional) Rename the source package to bash-color-prompt (instead of shell-color-prompt) - less confusing for users
      • submit a package review.
    • Build new version
    • Document how to configure
    • Fix issues from feedback and improve the experience.
  • Other developers: N/A

  • Release engineering: #Releng issue number

  • Policies and guidelines: N/A (not needed for this Change)

  • Trademark approval: N/A (not needed for this Change)

  • Alignment with the Fedora Strategy:

:link: Upgrade/compatibility impact

  • Users who just use the default bash-color-prompt system configuration should not notice any difference nor not need to change anything.

  • Simple user configs using PROMPT_COLOR and PROMPT_DIR_COLOR for changing the default color prompt will continue to work, but more complex custom bash-color-prompt’s will need to be reworked.

  • The new version makes creating custom prompts considerable easier, more flexible, and easily extensible.

  • There is no change to the default color prompt.

:link: How To Test

Alpha version can be tested today from this copr repo:

https://copr.fedorainfracloud.org/coprs/petersen/bash-color-prompt/

(which I have been running locally since January.)

More detailed instructions will come here.

See also:

:link: User Experience

Users who are happy with the default (green) prompt do not need to do anything. The opting out or disabling experience is unchanged.

Users will be able to create arbitrary custom bash prompts much more easily than with the more rigid older bash-color-prompt.

:link: Dependencies

N/A

:link: Contingency Plan

  • Contingency mechanism:
    • owner to revert bash-color-prompt to the current old version from F44
  • Contingency deadline: Beta freeze
  • Blocks release? No

:link: Documentation

The main documentation will be the README, which will be further flexed out by the code completion.

:link: Release Notes

Last edited by @amoloney 2026-06-30T17:35:45Z

Last edited by @amoloney 2026-06-30T17:35:45Z

How do you feel about the proposal as written?

  • Strongly in favor
  • In favor, with reservations
  • Neutral
  • Opposed, but could be convinced
  • Strongly opposed
0 voters

If you are in favor but have reservations, or are opposed but something could change your mind, please explain in a reply.

We want everyone to be heard, but many posts repeating the same thing actually makes that harder. If you have something new to say, please say it. If, instead, you find someone has already covered what you’d like to express, please simply give that post a :heart: instead of reiterating. You can even do this by email, by replying with the heart emoji or just “+1”. This will make long topics easier to follow.

Please note that this is an advisory “straw poll” meant to gauge sentiment. It isn’t a vote or a scientific survey. See About the Change Proposals category for more about the Change Process and moderation policy.

Btw I recommend reading the actual change page which is more up-to-date and detailed now.

edit: also I have updated the copr repo to v0.95.3

One thing which I’m always missing from the default Fedora install is having out-of-the-box integration for git status in the prompt. IMO, any real work with git requires the prompt to be configured. Ubuntu for example configures the default prompt to show basic git repo status. I never understood why Fedora doesn’t. Can we make that happen?

2 Likes

Yes it is possible: I agree it makes sense - I think it would be popular.
One of my team members was asking the same yesterday. :slight_smile:

Until now I was taking a very conservative stance with bash-color-prompt of zero external processes by default, but maybe we can make an exception for git - it is too useful. Probably providing an easy way to opt out would be good though.

Let me think a little more since I was actually pondering to make the PS1 prompt a completely static string by default now even - well maybe it should be for root at least anyway. Then I can revise the proposal slightly to include this if there is consensus.
It is mostly a trivial change: the git status function is already there (though as a default feature it should probably be slightly simplified).

Installation instructions on the copr page didn’t work:

I had to:

source /etc/profile.d/bash-color-prompt.sh

To have the colored prompt (and figure it out where the file was)

Also, the link to the “example file” is broken

I think you need to start a fresh (login) shell (or terminal): otherwise yes, you can source /usr/share/bash-color-prompt/bcp.sh.

Also like current bash-color-prompt it is only setup by default if you haven’t modified PS1. The activation logic is unchanged.

Currently this new version will only be for Rawhide/F45.

1 Like

I’ve tested it a little bit and it looks nice to be a default prompt. I’m still 100% in favor (even when I use zsh as my primary shell)

1 Like