From e1f55bed1a08915f5e8b6ba54d3e243c52c0b329 Mon Sep 17 00:00:00 2001 From: Hektor Misplon Date: Sun, 29 Sep 2024 11:41:29 +0200 Subject: [PATCH] Reorganize bash config --- .bashrc | 28 +++------------------------- .bashrc.d/prompt | 20 ++++++++++++++++++++ 2 files changed, 23 insertions(+), 25 deletions(-) create mode 100644 .bashrc.d/prompt diff --git a/.bashrc b/.bashrc index 3233fe6..1896659 100644 --- a/.bashrc +++ b/.bashrc @@ -4,40 +4,18 @@ source /etc/os-release -# Functions {{{ +# Editor & prompt configuration [ -f "$HOME/.bashrc.d/editor" ] && source "$HOME/.bashrc.d/editor" -# }}} +[ -f "$HOME/.bashrc.d/prompt" ] && source "$HOME/.bashrc.d/prompt" -# Aliases {{{ # Load aliases dynamically [ -f "$HOME/.bash_aliases/all" ] && source "$HOME/.bash_aliases/all" [ -f "$HOME/.bash_aliases/hosts/$HOSTNAME" ] && source "$HOME/.bash_aliases/hosts/$HOSTNAME" [ -f "$HOME/.bash_aliases/private" ] && source "$HOME/.bash_aliases/private" -# }}} -# Dynamic configuration {{{ +# Host-specific and private configurations [ -f "$HOME/.bashrc.d/hosts/$HOSTNAME" ] && source "$HOME/.bashrc.d/hosts/$HOSTNAME" [ -f "$HOME/.bashrc.d/private" ] && source "$HOME/.bashrc.d/private" -# }}} - -# Prompt {{{ -get_branch_name() { - git symbolic-ref --quiet --short HEAD 2>/dev/null \ - || git rev-parse --short HEAD 2>/dev/null \ - || echo 'some branch' -} -get_git_info() { - git rev-parse --is-inside-work-tree &>/dev/null || return - echo -e " $(get_branch_name)" -} - -PS1="\u \w ❭\[$(tput sgr0)\] " - -# Ellipsis when deep in directory -export PROMPT_DIRTRIM=2 - -export PS1 -# }}} # Path {{{ # Add ~/.bin to PATH diff --git a/.bashrc.d/prompt b/.bashrc.d/prompt new file mode 100644 index 0000000..9eb2284 --- /dev/null +++ b/.bashrc.d/prompt @@ -0,0 +1,20 @@ +# vim: set ft=bash : +get_branch_name() { + git symbolic-ref --quiet --short HEAD 2>/dev/null \ + || git rev-parse --short HEAD 2>/dev/null \ + || echo 'some branch' +} +get_git_info() { + git rev-parse --is-inside-work-tree &>/dev/null || return + echo -e "($(get_branch_name))" +} + +if [[ $SSH_CONNECTION ]]; then + PS1='\[\033[01;31m\]\u@\h\[\033[00m\] $(get_git_info)\W❭\[$(tput sgr0)\] ' +else + PS1='\u $(get_git_info)\W❭\[$(tput sgr0)\] ' +fi + +# Ellipsis when deep in directory +export PROMPT_DIRTRIM=2 +export PS1