From f202924393da78989b408412c7e52586ce4520ab Mon Sep 17 00:00:00 2001 From: transcaffeine Date: Sat, 6 Sep 2025 17:12:26 +0200 Subject: [PATCH] chore(profiles/base): replace default bash prompt (PS1) to not contain a newline --- profiles/base/default.nix | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/profiles/base/default.nix b/profiles/base/default.nix index 3bf6eb8..b6c2676 100644 --- a/profiles/base/default.nix +++ b/profiles/base/default.nix @@ -42,4 +42,21 @@ usbutils pciutils ]; + programs.bash.promptInit = '' + # Provide a nice prompt if the terminal supports it. + if [ "$TERM" != "dumb" ] || [ -n "$INSIDE_EMACS" ]; then + PROMPT_COLOR="38;5;253m" + PATH_PROMPT_COLOR="38;5;199m" + ((UID)) && PROMPT_COLOR="1;32m" + if [ -n "$INSIDE_EMACS" ]; then + # Emacs term mode doesn't support xterm title escape sequence (\e]0;) + PS1="[\[\033[$PROMPT_COLOR\]\u\033[0m@\H:\033[1m\033[$PATH_PROMPT_COLOR\w\a\]\[\033[0m\]]\$ " + else + PS1="[\[\033[$PROMPT_COLOR\]\u\033[0m@\H:\033[1m\033[$PATH_PROMPT_COLOR\w\a\]\[\033[0m\]]\$ " + fi + if test "$TERM" = "xterm"; then + PS1="\[\033]2;\h:\u:\w\007\]$PS1" + fi + fi + ''; }