aboutsummaryrefslogtreecommitdiff
path: root/files
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2016-02-25 15:07:27 -0300
committerSilvio Rhatto <rhatto@riseup.net>2016-02-25 15:07:27 -0300
commitb180ac33227e9d7125bb04932fdbc9b851906c84 (patch)
tree1103fb4d623baa9263021546defc834380233e6c /files
parent117f06911b075efd409117a06074d1d33018da10 (diff)
downloadshellprompt-b180ac33227e9d7125bb04932fdbc9b851906c84.tar.gz
shellprompt-b180ac33227e9d7125bb04932fdbc9b851906c84.tar.bz2
Turn into a puppet module
Diffstat (limited to 'files')
-rw-r--r--files/bash.bashrc58
-rwxr-xr-xfiles/prompt43
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"