diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2016-02-25 15:07:27 -0300 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2016-02-25 15:07:27 -0300 |
commit | b180ac33227e9d7125bb04932fdbc9b851906c84 (patch) | |
tree | 1103fb4d623baa9263021546defc834380233e6c /files | |
parent | 117f06911b075efd409117a06074d1d33018da10 (diff) | |
download | shellprompt-b180ac33227e9d7125bb04932fdbc9b851906c84.tar.gz shellprompt-b180ac33227e9d7125bb04932fdbc9b851906c84.tar.bz2 |
Turn into a puppet module
Diffstat (limited to 'files')
-rw-r--r-- | files/bash.bashrc | 58 | ||||
-rwxr-xr-x | files/prompt | 43 |
2 files changed, 101 insertions, 0 deletions
diff --git a/files/bash.bashrc b/files/bash.bashrc new file mode 100644 index 0000000..27686d6 --- /dev/null +++ b/files/bash.bashrc @@ -0,0 +1,58 @@ +# System-wide .bashrc file for interactive bash(1) shells. + +# To enable the settings / commands in this file for login shells as well, +# this file has to be sourced in /etc/profile. + +# If not running interactively, don't do anything +[ -z "$PS1" ] && return + +# check the window size after each command and, if necessary, +# update the values of LINES and COLUMNS. +shopt -s checkwinsize + +# set variable identifying the chroot you work in (used in the prompt below) +if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then + debian_chroot=$(cat /etc/debian_chroot) +fi + +# set a fancy prompt (non-color, overwrite the one in /etc/profile) +#PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' + +# set a fancy prompt +. /etc/profile.d/prompt.sh + +# Commented out, don't overwrite xterm -T "title" -n "icontitle" by default. +# If this is an xterm set the title to user@host:dir +#case "$TERM" in +#xterm*|rxvt*) +# PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"' +# ;; +#*) +# ;; +#esac + +# enable bash completion in interactive shells +if ! shopt -oq posix; then + if [ -f /usr/share/bash-completion/bash_completion ]; then + . /usr/share/bash-completion/bash_completion + elif [ -f /etc/bash_completion ]; then + . /etc/bash_completion + fi +fi + +# if the command-not-found package is installed, use it +if [ -x /usr/lib/command-not-found -o -x /usr/share/command-not-found/command-not-found ]; then + function command_not_found_handle { + # check because c-n-f could've been removed in the meantime + if [ -x /usr/lib/command-not-found ]; then + /usr/lib/command-not-found -- "$1" + return $? + elif [ -x /usr/share/command-not-found/command-not-found ]; then + /usr/share/command-not-found/command-not-found -- "$1" + return $? + else + printf "%s: command not found\n" "$1" >&2 + return 127 + fi + } +fi diff --git a/files/prompt b/files/prompt new file mode 100755 index 0000000..e4d4ddf --- /dev/null +++ b/files/prompt @@ -0,0 +1,43 @@ +#!/bin/bash +# +# Fancy bash prompt. +# See http://www.debian-administration.org/article/Fancy_Bash_Prompts +# + +command_prompt() { + exit_status="$?" + # colors + COLOR_RED="\[\033[31m\]" + COLOR_GREEN="\[\033[32m\]" + COLOR_YELLOW="\[\033[33m\]" + COLOR_BLUE="\[\033[34m\]" + COLOR_MAGENTA="\[\033[35m\]" + COLOR_CYAN="\[\033[36m\]" + + COLOR_RED_BOLD="\[\033[31;1m\]" + COLOR_GREEN_BOLD="\[\033[32;1m\]" + COLOR_YELLOW_BOLD="\[\033[33;1m\]" + COLOR_BLUE_BOLD="\[\033[34;1m\]" + COLOR_MAGENTA_BOLD="\[\033[35;1m\]" + COLOR_CYAN_BOLD="\[\033[36;1m\]" + + COLOR_NONE="\[\033[0m\]" + BOLD="\[\033[1m\]" + + if [ "$exit_status" == "0" ]; then + status_color="${COLOR_GREEN}" + else + status_color="${COLOR_RED_BOLD}" + fi + + # Yellow blue theme with git completion + PS1="${status_color}${exit_status}${COLOR_NONE} ${COLOR_CYAN}\D{%Y%m%d %H:%M:%S}${COLOR_NONE} ${COLOR_CYAN}${debian_chroot:+($debian_chroot) }${COLOR_NONE}${COLOR_YELLOW}\u@\h${COLOR_NONE}:${COLOR_CYAN}\w$(__git_ps1 " (%s)")${COLOR_NONE} \\$ " + PS2="${BOLD}>${OFF} " +} + +# Older systems doesn't source git completion by default +if ! type __git_ps1 &> /dev/null && [ -e "/etc/bash_completion.d/git" ]; then + source /etc/bash_completion.d/git +fi + +PROMPT_COMMAND="command_prompt" |