diff options
| author | Silvio Rhatto <rhatto@riseup.net> | 2010-02-15 13:03:46 -0200 | 
|---|---|---|
| committer | Silvio Rhatto <rhatto@riseup.net> | 2010-02-15 13:03:46 -0200 | 
| commit | e88378ecb98bc3932aa8484837fefa04e5b9323b (patch) | |
| tree | fad367800442e83d3a8847c7e67cf41b3c3b0f3f | |
| parent | 95322378019d3a4f26ed4396f33f1a83185f64ed (diff) | |
| download | puppet-nodo-e88378ecb98bc3932aa8484837fefa04e5b9323b.tar.gz puppet-nodo-e88378ecb98bc3932aa8484837fefa04e5b9323b.tar.bz2  | |
Better prompt config
| -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,    }  }  | 
