aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2010-02-15 13:03:46 -0200
committerSilvio Rhatto <rhatto@riseup.net>2010-02-15 13:03:46 -0200
commite88378ecb98bc3932aa8484837fefa04e5b9323b (patch)
treefad367800442e83d3a8847c7e67cf41b3c3b0f3f
parent95322378019d3a4f26ed4396f33f1a83185f64ed (diff)
downloadpuppet-nodo-e88378ecb98bc3932aa8484837fefa04e5b9323b.tar.gz
puppet-nodo-e88378ecb98bc3932aa8484837fefa04e5b9323b.tar.bz2
Better prompt config
-rw-r--r--files/bin/prompt.sh37
-rw-r--r--files/etc/bash.bashrc2
-rw-r--r--files/etc/profile32
-rw-r--r--manifests/init.pp15
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,
}
}