diff options
-rw-r--r-- | files/bin/prompt.sh | 37 | ||||
-rw-r--r-- | files/etc/bash.bashrc | 2 | ||||
-rw-r--r-- | files/etc/profile | 32 | ||||
-rw-r--r-- | manifests/init.pp | 15 |
4 files changed, 50 insertions, 36 deletions
diff --git a/files/bin/prompt.sh b/files/bin/prompt.sh new file mode 100644 index 0000000..9c43491 --- /dev/null +++ b/files/bin/prompt.sh @@ -0,0 +1,37 @@ +#!/bin/bash +# +# Fancy bash prompt. +# See http://www.debian-administration.org/article/Fancy_Bash_Prompts +# + +function command_prompt() { + exit_status="$?" + # colors + COLOR_RED="\[\033[31m\]" + COLOR_GREEN="\[\033[32;40m\]" + COLOR_YELLOW="\[\033[33;40m\]" + COLOR_BLUE="\[\033[34;40m\]" + COLOR_MAGENTA="\[\033[35;40m\]" + COLOR_CYAN="\[\033[36;40m\]" + + 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 + + PS1="(${status_color}${exit_status}${COLOR_NONE}) [${COLOR_RED}\D{%Y%m%d %H:%M:%S}${COLOR_NONE}] ${COLOR_GREEN}\u@\h${COLOR_NONE}:${COLOR_CYAN}\w${COLOR_NONE} \\$ " + PS2="${BOLD}>${OFF} " +} + +command_prompt diff --git a/files/etc/bash.bashrc b/files/etc/bash.bashrc index 3f8ba6b..0d66a14 100644 --- a/files/etc/bash.bashrc +++ b/files/etc/bash.bashrc @@ -45,3 +45,5 @@ if [ -x /usr/lib/command-not-found ]; then fi } fi + +PROMPT_COMMAND="/usr/local/bin/prompt.sh" diff --git a/files/etc/profile b/files/etc/profile index 799d1c8..3828b33 100644 --- a/files/etc/profile +++ b/files/etc/profile @@ -7,40 +7,10 @@ else PATH="/usr/local/bin:/usr/bin:/bin:/usr/games" fi -function command_prompt() { - exit_status="$?" - # colors - COLOR_RED="\[\033[31m\]" - COLOR_GREEN="\[\033[32;40m\]" - COLOR_YELLOW="\[\033[33;40m\]" - COLOR_BLUE="\[\033[34;40m\]" - COLOR_MAGENTA="\[\033[35;40m\]" - COLOR_CYAN="\[\033[36;40m\]" - - 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 - - PS1="(${status_color}${exit_status}${COLOR_NONE}) [${COLOR_RED}\D{%Y%m%d %H:%M:%S}${COLOR_NONE}] ${COLOR_GREEN}\u@\h${COLOR_NONE}:${COLOR_CYAN}\w${COLOR_NONE} \\$ " - PS2="${BOLD}>${OFF} " -} - if [ "$PS1" ]; then if [ "$BASH" ]; then PS1='\u@\h:\w\$ ' - PROMPT_COMMAND=command_prompt + PROMPT_COMMAND="/usr/local/bin/prompt.sh" else if [ "`id -u`" -eq 0 ]; then PS1='# ' diff --git a/manifests/init.pp b/manifests/init.pp index 7c58cf0..c6578cd 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -88,19 +88,24 @@ class nodo { group => "root", mode => 0644, ensure => present, + require => File['/usr/local/bin/prompt.sh'], } - # Previously we used /etc/bash.bashrc but now we're planning - # not to manage it. As a transition procedure we'll sync all - # nodes with the default file. - # - # TODO: remove when after all nodes have synced. file { "/etc/bash.bashrc": source => "puppet://$server/modules/nodo/etc/bash.bashrc", owner => "root", group => "root", mode => 0644, ensure => present, + require => File['/usr/local/bin/prompt.sh'], + } + + file { "/usr/local/bin/prompt.sh": + source => "puppet://$server/modules/nodo/bin/prompt.sh", + owner => "root", + group => "root", + mode => 0755, + ensure => present, } } |