Merge branch 'sshrc'

This commit is contained in:
Stefan Gaiselmann (centos8) 2020-10-23 13:38:03 +02:00
commit c49a8427c5
5 changed files with 375 additions and 0 deletions

5
.chezmoi.toml.tmpl Normal file
View File

@ -0,0 +1,5 @@
{{- $name := promptString "name" -}}
{{- $email := promptString "email" -}}
[data]
name = "{{ $name }}"
email = "{{ $email }}"

14
dot_gitconfig.tmpl Normal file
View File

@ -0,0 +1,14 @@
# This is Git's per-user configuration file.
[user]
# Please adapt and uncomment the following lines:
name = {{ .name }}
email = {{ .email }}
[alias]
graph = log --graph --pretty=format:'%Cred%h %Creset-%C(yellow)%d%Creset %s %Cgreen(%cd) %C(blue)<%an>%Creset' --abbrev-commit --date=relative -30
[core]
editor = vim

42
dot_solarize_colors Normal file
View File

@ -0,0 +1,42 @@
#
# Solarized color definitions.
# see https://ethanschoonover.com/solarized/
#
# Foreground
sol_base03='\[\e[38;5;234m\]' #002b36 8/4 brblack
sol_base02='\[\e[38;5;235m\]' #073642 0/4 black
sol_base01='\[\e[38;5;240m\]' #586e75 10/7 brgreen
sol_base00='\[\e[38;5;241m\]' #657b83 11/7 bryellow
sol_base0='\[\e[38;5;244m\]' #839496 12/6 brblue
sol_base1='\[\e[38;5;245m\]' #93a1a1 14/4 brcyan
sol_base2='\[\e[38;5;254m\]' #eee8d5 7/7 white
sol_base3='\[\e[38;5;230m\]' #fdf6e3 15/7 brwhite
sol_yellow='\[\e[38;5;136m\]' #b58900 3/3 yellow
sol_orange='\[\e[38;5;166m\]' #cb4b16 9/3 brred
sol_red='\[\e[38;5;160m\]' #dc322f 1/1 red
sol_magenta='\[\e[38;5;125m\]' #d33682 5/5 magenta
sol_violet='\[\e[38;5;61m\]' #6c71c4 13/5 brmagenta
sol_blue='\[\e[38;5;33m\]' #268bd2 4/4 blue
sol_cyan='\[\e[38;5;37m\]' #2aa198 6/6 cyan
sol_green='\[\e[38;5;64m\]' #859900 2/2 green
# Background
sol_bg_base03='\e[48;5;234m\]' #002b36 8/4 brblack
sol_bg_base02='\e[48;5;235m\]' #073642 0/4 black
sol_bg_base01='\e[48;5;240m\]' #586e75 10/7 brgreen
sol_bg_base00='\e[48;5;241m\]' #657b83 11/7 bryellow
sol_bg_base0='\e[48;5;244m\]' #839496 12/6 brblue
sol_bg_base1='\e[48;5;245m\]' #93a1a1 14/4 brcyan
sol_bg_base2='\e[48;5;254m\]' #eee8d5 7/7 white
sol_bg_base3='\e[48;5;230m\]' #fdf6e3 15/7 brwhite
sol_bg_yellow='\e[48;5;136m\]' #b58900 3/3 yellow
sol_bg_orange='\e[48;5;166m\]' #cb4b16 9/3 brred
sol_bg_red='\e[48;5;160m\]' #dc322f 1/1 red
sol_bg_magenta='\e[48;5;125m\]' #d33682 5/5 magenta
sol_bg_violet='\e[48;5;61m\]' #6c71c4 13/5 brmagenta
sol_bg_blue='\e[48;5;33m\]' #268bd2 4/4 blue
sol_bg_cyan='\e[48;5;37m\]' #2aa198 6/6 cyan
sol_bg_green='\e[48;5;64m\]' #859900 2/2 green
bg_system="\[\e[48;5;0m\]"

42
dot_solarize_colors_base Normal file
View File

@ -0,0 +1,42 @@
#
# Solarized color definitions.
# see https://ethanschoonover.com/solarized/
#
# Foreground
sol_base03='\[\e[38;5;8m\]' #002b36 8/4 brblack
sol_base02='\[\e[38;5;0m\]' #073642 0/4 black
sol_base01='\[\e[38;5;10m\]' #586e75 10/7 brgreen
sol_base00='\[\e[38;5;11m\]' #657b83 11/7 bryellow
sol_base0='\[\e[38;5;12m\]' #839496 12/6 brblue
sol_base1='\[\e[38;5;14m\]' #93a1a1 14/4 brcyan
sol_base2='\[\e[38;5;7m\]' #eee8d5 7/7 white
sol_base3='\[\e[38;5;15m\]' #fdf6e3 15/7 brwhite
sol_yellow='\[\e[38;5;3m\]' #b58900 3/3 yellow
sol_orange='\[\e[38;5;9m\]' #cb4b16 9/3 brred
sol_red='\[\e[38;5;1m\]' #dc322f 1/1 red
sol_magenta='\[\e[38;5;5m\]' #d33682 5/5 magenta
sol_violet='\[\e[38;5;13m\]' #6c71c4 13/5 brmagenta
sol_blue='\[\e[38;5;4m\]' #268bd2 4/4 blue
sol_cyan='\[\e[38;5;6m\]' #2aa198 6/6 cyan
sol_green='\[\e[38;5;2m\]' #859900 2/2 green
# Background
sol_bg_base03='\e[48;5;8m\]' #002b36 8/4 brblack
sol_bg_base02='\e[48;5;0m\]' #073642 0/4 black
sol_bg_base01='\e[48;5;10m\]' #586e75 10/7 brgreen
sol_bg_base00='\e[48;5;11m\]' #657b83 11/7 bryellow
sol_bg_base0='\e[48;5;12m\]' #839496 12/6 brblue
sol_bg_base1='\e[48;5;14m\]' #93a1a1 14/4 brcyan
sol_bg_base2='\e[48;5;7m\]' #eee8d5 7/7 white
sol_bg_base3='\e[48;5;15m\]' #fdf6e3 15/7 brwhite
sol_bg_yellow='\e[48;5;3m\]' #b58900 3/3 yellow
sol_bg_orange='\e[48;5;9m\]' #cb4b16 9/3 brred
sol_bg_red='\e[48;5;1m\]' #dc322f 1/1 red
sol_bg_magenta='\e[48;5;5m\]' #d33682 5/5 magenta
sol_bg_violet='\e[48;5;13m\]' #6c71c4 13/5 brmagenta
sol_bg_blue='\e[48;5;4m\]' #268bd2 4/4 blue
sol_bg_cyan='\e[48;5;37m\]' #2aa198 6/6 cyan
sol_bg_green='\e[48;5;2m\]' #859900 2/2 green
bg_system="\[\e[48;5;0m\]"

272
dot_sshrc Normal file
View File

@ -0,0 +1,272 @@
if [ -f $HOME/.profile ]; then
source $HOME/.profile
fi
#
# TODO: CISM Section
#
mySystem=$(uname -n)
myFQDN="$(uname -n).$(dnsdomainname)"
mySlesVersionId=$(grep PRETTY_NAME /etc/os-release)
mySlesVersion=${mySlesVersionId#*=}
mySlesVersion=${mySlesVersion//\"}
# Debugging
if [ "$myFQDN" == "BUI-NB1207-GP.bui.materna.com" ]; then
log_info "env: $myFQDN ($myType) in $myEnv"
myType=$myFQDN
myEnv=STG
myNum=0
else
myType=$myFQDN
myEnv=unknown
myNum=0
fi
function fadeIn() {
START=$1
END=$2
for ((i=$START; i<=$END; i++)); do
FADE="$FADE\[\e[48;5;${i}m\] "
done
FADE="$FADE \[\e[0m"
}
function fadeOut() {
START=$1
END=$2
for ((i=$START; i<=$END; i--)); do
FADE="$FADE\[\e[48;5;${i}m\] "
echo -e "$FADE"
done
FADE="$FADE \[\e[0m"
}
# CPU function
function getCPULoad {
echo $(sar -u 1 1 | awk '/^Average:/{print 100-$8}')
}
# last exit code
function lastExitCode {
local exit="$?"
local VERSION_ID=$(grep VERSION_ID /etc/os-release)
local SLES_VERSION=${VERSION_ID#*=}
local SLES_VERSION=${SLES_VERSION//\"}
if [ $exit != 0 ];then
# echo -e "${sol_red}!${bg_reset}"
# printf '\[\033[32m\]0_0\[\033\0m\]'
# printf '0_0 ✕'
printf '\e[38;5;160m%-5s' "✕ ❗ ($exit)"
else
# echo "OK"
# printf '^_^ ✔'
printf '✔'
fi
# printf "  $SLES_VERSION"
}
# Solarized Theme
source $HOME/.solarize_colors_base
bg_system="\[\e[48;5;0m\]"
bg_type="\[\e[48;5;254m\]"
bg_reset="\[\e[49m\]"
fg_sytem="\[\e[38;5;15m\]"
fg_type="\[\e[1m\]"
fg_reset="\[\e[39m\]"
fg_arrow1="\[\e[38;5;18m\]"
fg_arrow2="\[\e[38;5;254m\]"
# Background by ENV
dev="22"
prod="52"
sys="94"
case $myEnv in
DEV)
SYSTEM="Development System"
bg_system="${sol_bg_green}"
fg_system="${sol_green}"
fg_type="${sol_green}"
;;
TST)
SYSTEM="Test System"
bg_system="${sol_bg_blue}"
fg_system="${sol_blue}"
fg_type="${sol_blue}"
;;
PRD)
SYSTEM="Production System"
bg_system="${sol_bg_red}"
fg_system="${sol_red}"
fg_type="${sol_red}"
;;
STG|ST2)
SYSTEM="$myEnv"
bg_system="${sol_bg_yellow}"
fg_system="${sol_yellow}"
fg_type="${sol_yellow}"
;;
*)
echo "myEnv: $myEnv"
echo "myType: $myType"
SYSTEM="System of a Down"
bg_system="${sol_bg_magenta}"
fg_system="${sol_magenta}"
fg_type="${sol_magenta}"
;;
esac
bg_type="${sol_bg_base3}"
fg_arrow1="${fg_type}"
fg_arrow2="${sol_base3}"
if [[ -z "${myType// }" ]]; then
TYPE=$(uname -n)
else
TYPE=" $myType "
fi
if [ "$myNum" != "0" ]; then
TYPE="$TYPE ($myNum)"
fi
echo "System Prompt: $SYSTEM_PROMPT"
# SYSTEM_PROMPT="\n${bg_system}${fg_sytem}${SYSTEM} ${bg_type}${fg_arrow1}"
#  "
#                
SYSTEM_PROMPT="\n${fg_arrow1}░▒▓${bg_system} ${fg_sytem}${SYSTEM} ${bg_type}${fg_arrow1}▓▒░"
# fadeIn 64 230
#echo -e "$FADE"
# SYSTEM_PROMPT="\n${bg_system}${fg_sytem}${SYSTEM} $FADE"
# TYPE_PROMPT="$TYPE  [CPU: \$(getCPULoad) %] ${bg_reset}${fg_arrow2}"
# TYPE_PROMPT="$TYPE  [\$(if [ \$? = 0 ]; then echo ${sol_red}^_^; else echo 0_0; fi)] ${bg_reset}${fg_arrow2}▓▒░"
# TYPE_PROMPT="$TYPE  \$(lastExitCode) ${bg_reset}${fg_arrow2}▓▒░"
# TYPE_PROMPT="$TYPE  \$(lastExitCode) ${fg_arrow1}  $mySlesVersion ${sol_blue}\${STY#[0-9]*.} ${bg_reset}${fg_arrow2}▇▆▅▄▃▂▁"
TYPE_PROMPT="$TYPE  \$(lastExitCode) ${fg_arrow1}  $mySlesVersion ${sol_blue}\${STY#[0-9]*.} ${bg_reset}${fg_arrow2}▓▒░"
# With CPU Load
# TYPE_PROMPT="$TYPE  [CPU: \$(getCPULoad) %] ${bg_reset}${fg_arrow2}▓▒░"
# TYPE_PROMPT="\[\e[48;5;27;1;30m$TYPE ${bg_reset}\[\e[48;5;27m░▒▓"
PROMPT="${SYSTEM_PROMPT} ${TYPE_PROMPT}"
DATE="\[\e[0;32m\]\d \t"
if [ "$(whoami)" = "root" ]; then
DIR="\[\e[97;49m\]\[\e[0;91;107m\] \u@\h \[\e[97;49m\]\[\e[39;49m\] in \[\e[0;32m\]\w"
# DIR="\[\e[97;49m\]▒\[\e[0;91;107m\] \u@\h \[\e[97;49m\]▒\[\e[39;49m\] in \[\e[0;32m\]\w"
else
DIR="\[\e[0;32m\]\u@\h \[\e[31m\]☆ \[\e[0;32m\]\w"
fi
# PROMPT_COMMAND=promptcmd
PS1="${PROMPT}\[\e[0m\] \n${DIR}\n${DATE} → \[\e[0m\]"
echo '┌─────────────────────────────┐'
echo '│ Welcome to CISM │'
echo '└─────────────────────────────┘'
if [ $(whoami | grep root | wc -l) == 1 ]; then
echo -e "\e[31;107m┌─────────────────────────────┐\e[0m"
echo -e "\e[31;107m│ YOU ARE ROOT, BE CAREFUL! │\e[0m"
echo -e "\e[31;107m└─────────────────────────────┘\e[0m"
# Test mintty
echo -ne '\e]11;44,10,10\a'
else
# echo -ne '\e]11;0,30,60\a'
log_warn "TODO: background colors..."
fi
if [ $(hostname | grep solveig | wc -l) == 1 ]; then
echo 'Welcome on solveig'
export PS1="\n\d \t ☆ \e[1;31m\]\u@\h \[\e[39m\]in \[\e[0;32m\]\w\n\[\e[0;32m\]$(git branch) → \[\e[39m\]"
elif [ $(hostname | grep openwrt | wc -l) == 1 ]; then
PS1="\e[36m \t \e[31m- \e[32m\u@\h \e[0m in \w \n \e[0;32m \$ \e[39m"
fi
# taken from https://github.com/randomphrase/dotfiles/blob/master/sshrc
# modified to use own "HOME"
# Are we using a shared account?
# if [[ -z "$ENVIRONMENT" ]]; then
# Use my own shell history file
# export HISTFILE=$HOME/.bash_history.$SSH_INCOMING_USER
# elif [[ "$ENVIRONMENT" == "CISM" ]]; then
if [[ -d "/home/arsystem/HOME/sgaisel/bash_history" ]]; then
export HISTFILE=/home/arsystem/HOME/sgaisel/bash_history/${USER}_$(uname -n)
log_info "using bash history $HISTFILE"
else
echo "no 'HOME' found, using standard history file"
fi
# alias tree="find ./ -type d | sed -e 's/[^-][^\/]*\//--/g;s/--/ |-/'"
# fi
# use own vim parameters if available
# if [[ -f "$HOME/HOME/sgaisel/.vimrc" ]]; then
# echo 'using .vimrc from /home/arsystem/HOME/sgaisel'
# alias vi="vim --cmd 'set rtp^=/home/arsystem/HOME/sgaisel/.vim' -u /home/arsystem/HOME/sgaisel/.vimrc"
# fi
#fi
# avoid '^?' in vim
# see https://vim.fandom.com/wiki/Backspace_and_delete_problems
stty erase '^?'
# Set Title, see https://superuser.com/questions/249293/rename-tmux-window-name-to-prompt-command-ps1-or-remote-ssh-hostname
settitle() {
printf "\033k$1\033\\"
}
# settitle "$(uname -n)"
settitle "$myEnv ($(uname -n))"
export LS_OPTIONS='--color=auto'
eval "$(dircolors -b)"
alias ls='ls $LS_OPTIONS'
# Some aliases to tail logfiles
alias tailMisc='tail -f /srv/CISM/log-data/CONTEXT_misc/cism-misc.log'
alias tailWS='tail -f /srv/CISM/log-data/CONTEXT_ws/cism-ws.log'
alias tailGraph='tail -f /srv/CISM/log-data/CONTEXT_graph/cism-graph.log'
alias tailBB='tail -f /srv/CISM/log-data/CONTEXT_bb/cism-bb.log'
alias tailKM='tail -f /srv/CISM/log-data/CONTEXT_km/cism-km-main.log'
alias cs='/srv/CISM/sbin/ALLRC status | grep -B 2 -e active -e inactive'
alias dev='cd /srv/CISM/release-management/check-dev'
alias stg='cd /srv/CISM/release-management/rpm-stg'
# most used netcat alias
alias n='netcat -vz -w 10 '
alias psg='ps -aux | grep -v grep | grep '
# Some functions (some by c't magazine)
cdl() {
cd "$@"
if [ "$?" == 0 ]; then
ls
fi
}
backup() {
cp -p "$@" "$@".backup-$(date +%Y-%m-%d_%H_%M_%S)
}
extract() {
case $1 in
*.tar.bz2) tar xvjf $1 ;;
*.tar.gz|*.tgz) tar xvfz $1 ;;
*.zip) unzip $1 ;;
*) echo "Not supported: $1" ;;
esac
}
# extend Path
if [ "$(dnsdomainname)" = "emea.isn.corpintra.net" ];then
PATH=$PATH:/home/arsystem/HOME/sgaisel/bin
fi