Ralf Beckesch пре 1 недеља
родитељ
комит
9dbac01766

BIN
.dot_bashrc.kate-swp


+ 16 - 204
dot_bashrc

@@ -1,222 +1,34 @@
 #!/bin/bash
 
-# ~/.bashrc: executed by bash(1) for non-login shells.
-# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
-# for examples
+# non interactive? exit!
+[[ $- != *i* ]] && return
 
-# If not running interactively, don't do anything
-case $- in
-    *i*) ;;
-      *) return;;
-esac
+scriptname=$(basename ${BASH_SOURCE[0]})
+scriptdirname=$(dirname ${BASH_SOURCE[0]})
 
-# don't put duplicate lines or lines starting with space in the history.
-# See bash(1) for more options
-HISTCONTROL=ignoreboth
 
-# append to the history file, don't overwrite it
-shopt -s histappend
-
-# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
-HISTSIZE=10000
-HISTFILESIZE=200000
-
-# check the window size after each command and, if necessary,
-# update the values of LINES and COLUMNS.
-shopt -s checkwinsize
-
-# If set, the pattern "**" used in a pathname expansion context will
-# match all files and zero or more directories and subdirectories.
-#shopt -s globstar
-
-# make less more friendly for non-text input files, see lesspipe(1)
-#[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
-
-# 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, unless we know we "want" color)
-case "$TERM" in
-    xterm-color|*-256color) color_prompt=yes;;
-esac
-
-# uncomment for a colored prompt, if the terminal has the capability; turned
-# off by default to not distract the user: the focus in a terminal window
-# should be on the output of commands, not on the prompt
-#force_color_prompt=yes
-
-if [ -n "$force_color_prompt" ]; then
-    if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
-	# We have color support; assume it's compliant with Ecma-48
-	# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
-	# a case would tend to support setf rather than setaf.)
-	color_prompt=yes
-    else
-	color_prompt=
+function debug () {
+    if [ -n "$DEBUG" ]; then
+        echo -e "[${scriptname}]: $*" >&2
     fi
-fi
-
-if [ "$color_prompt" = yes ]; then
-    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
-else
-    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
-fi
-unset color_prompt force_color_prompt
-
-# If this is an xterm set the title to user@host:dir
-case "$TERM" in
-xterm*|rxvt*)
-    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
-    ;;
-*)
-    ;;
-esac
-
-# enable color support of ls and also add handy aliases
-if [ -x /usr/bin/dircolors ]; then
-    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
-    alias ls='ls --color=auto'
-    #alias dir='dir --color=auto'
-    #alias vdir='vdir --color=auto'
-
-    #alias grep='grep --color=auto'
-    #alias fgrep='fgrep --color=auto'
-    #alias egrep='egrep --color=auto'
-fi
-
-# colored GCC warnings and errors
-#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
-
-# some more ls aliases
-#alias ll='ls -l'
-#alias la='ls -A'
-#alias l='ls -CF'
-
-# Alias definitions.
-# You may want to put all your additions into a separate file like
-# ~/.bash_aliases, instead of adding them here directly.
-# See /usr/share/doc/bash-doc/examples in the bash-doc package.
-
-if [ -f ~/.bash_aliases ]; then
-    . ~/.bash_aliases
-fi
-
-
+}
 
-
-if [ "$(hostname -f)" == "ralf-21kscto1ww" ]; then
-	export SSH_AUTH_SOCK="$HOME/.bitwarden-ssh-agent.sock"
+bashrc_debug="$HOME/.BASHRC_DEBUG"
+if [ -f "$bashrc_debug" ]; then
+	DEBUG="$(cat $bashrc_debug)"
+	debug "Debug enabled."
 fi
 
-
-# if user is not root, pass all commands via sudo #
-if [ $UID -ne 0 ]; then
-	alias pacman='sudo pacman'
-	alias reboot='sudo reboot'
-	alias update='sudo apt-get upgrade'
-	alias apt-get="sudo apt-get"
-	alias updatey="sudo apt-get --yes"
-	# update on one command
-	alias update='sudo apt-get update && sudo apt-get upgrade'
-fi
-
-## cd specific
-## get rid of command not found ##
-alias cd..='cd ..'
- 
-## a quick way to get out of current directory ##
-alias ..='cd ..'
-alias ...='cd ../../../'
-alias ....='cd ../../../../'
-alias .....='cd ../../../../'
-alias .4='cd ../../../../'
-alias .5='cd ../../../../..'
-
-## Colorize the grep command output for ease of use (good for log files)##
-alias grep='grep --color=auto'
-alias egrep='egrep --color=auto'
-alias fgrep='fgrep --color=auto'
-
-# Generate sha1 digest
-alias sha1='openssl sha1'
-
-# Create parent directories on demand
-alias mkdir='mkdir -pv'
-
-# Make mount command output pretty and human readable format
-# alias mount='mount |column -t'
-#
-
-# Command short cuts to save time
-alias h='history'
-alias j='jobs -l'
-
-# Create a new set of commands
-alias path='echo -e ${PATH//:/\\n}'
-alias now='date +"%T"'
-alias nowtime=now
-alias nowdate='date +"%d-%m-%Y"'
-
-# Set vim as default
-alias vi=nvim
-# alias svi='sudo vi'
-# alias vis='vim "+set si"'
-# alias edit='vim'
-
-# Control output of networking tool called ping
-# 	Stop after sending count ECHO_REQUEST packets #
-alias ping='ping -c 5'
-# 	Do not wait interval 1 second, go fast #
-alias fastping='ping -c 100 -s.2'
-
-# Show open ports
-#	Use netstat command to quickly list all TCP/UDP port on the server:
-alias ports='netstat -tulanp'
-
-# Add safety nets
-# 	do not delete / or prompt if deleting more than 3 files at a time #
-alias rm='rm -I --preserve-root'
-# 	confirmation 
-alias mv='mv -i'
-alias cp='cp -i'
-alias ln='ln -i'
-# 	Parenting changing perms on / #
-alias chown='chown --preserve-root'
-alias chmod='chmod --preserve-root'
-alias chgrp='chgrp --preserve-root'
-
-# Get system memory, cpu usage, and gpu memory info quickly
-#	# pass options to free ##
-# alias meminfo='free -m -l -t'
-#	# get top process eating memory
-# alias psmem='ps auxf | sort -nr -k 4'
-# alias psmem10='ps auxf | sort -nr -k 4 | head -10' 
-#	# get top process eating cpu ##
-# alias pscpu='ps auxf | sort -nr -k 3'
-# alias pscpu10='ps auxf | sort -nr -k 3 | head -10'
-#	# Get server cpu info ##
-# alias cpuinfo='lscpu'
-#	# older system use /proc/cpuinfo ##
-##alias cpuinfo='less /proc/cpuinfo' ## 
-#	# get GPU ram on desktop / laptop##
-# alias gpumeminfo='grep -i --color memory /var/log/Xorg.0.log'
-
-
-echo "pwd: $(pwd)"
-
 bashrcDir="$HOME/.bashrc.d"
-echo "bashrcDir: '$bashrcDir'"
+debug "bashrcDir: '$bashrcDir'"
 if [ -d "$bashrcDir" ]; then
 	for ext in $bashrcDir/*sh; do
-		if [ -f "ext" ]; then
-			echo include "$ext"
+		if [ -f "$ext" ]; then
+			debug "include '$ext'"
 			. $ext
 		fi
 	done
 else
-	echo "bashrcDir: '$bashrcDir' NOT FOUND!"
-	ls -l $bashrcDir
+	debug"bashrcDir: '$bashrcDir' NOT FOUND!"
 fi
 

+ 16 - 19
dot_bashrc.d/000-bash-setup-generic.sh

@@ -1,3 +1,9 @@
+#!/bin/bash
+scriptname=$(basename ${BASH_SOURCE[0]})
+scriptdirname=$(dirname ${BASH_SOURCE[0]})
+
+debug "Setup bash config."
+
 # don't put duplicate lines or lines starting with space in the history.
 # See bash(1) for more options
 HISTCONTROL=ignoreboth
@@ -22,16 +28,10 @@ shopt -s checkwinsize
 # match all files and zero or more directories and subdirectories.
 #shopt -s globstar
 
-# make less more friendly for non-text input files, see lesspipe(1)
-#[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
-
-# Alias definitions.
-# You may want to put all your additions into a separate file like
-# ~/.bash_aliases, instead of adding them here directly.
-# See /usr/share/doc/bash-doc/examples in the bash-doc package.
-
-if [ -f ~/.bash_aliases ]; then
-    . ~/.bash_aliases
+BASH_ALIASES="~/.bash_aliases"
+if [ -f "$BASH_ALIASES" ]; then
+    debug "Loading '$BASH_ALIASES'."
+    . $BASH_ALIASES
 fi
 
 
@@ -40,20 +40,17 @@ fi
 # sources /etc/bash.bashrc).
 if ! shopt -oq posix; then
   if [ -f /usr/share/bash-completion/bash_completion ]; then
-    . /usr/share/bash-completion/bash_completion
+    BASH_COMPLETION=/usr/share/bash-completion/bash_completion
   elif [ -f /etc/bash_completion ]; then
-    . /etc/bash_completion
+    BASH_COMPLETION=/etc/bash_completion
+  fi
+  if [ -n "$BASH_COMPLETION" ]; then
+    debug "Loading bash completion '$BASH_COMPLETION'."
+    . $BASH_COMPLETION
   fi
 fi
 
 
-# Do something only on specific hosts
-
-only_at_home="ralf-21kscto1ww"
-if [ "$(hostname -f)" == "ralf-21kscto1ww" ]; then
-	export SSH_AUTH_SOCK="$HOME/.bitwarden-ssh-agent.sock"
-fi
-
 
 
 

+ 20 - 0
dot_bashrc.d/010-bash-account-specific.sh

@@ -0,0 +1,20 @@
+#!/bin/bash
+
+#
+# This file could include for example
+#
+#   export SSH_AUTH_SOCK="$HOME/.bitwarden-ssh-agent.sock"
+
+
+bash_account_specific="$HOME/.bashrc_for_this_user"
+
+if [ -f "$bash_account_specific" ]; then
+    debug "Include '"$bash_account_specific"'."
+    . $bash_account_specific
+fi
+
+
+
+
+
+

+ 0 - 9
dot_bashrc.d/100-app-specifics.sh

@@ -1,9 +0,0 @@
-#!/bin/bash
-
-bashrcd_dir=~/.bashrc.d
-app_specifics_dir=$bashrcd_dir/app_specifics
-
-for i in $app_specifics_dir/*sh; do
-	echo NOT include "'$i'"
-done
-

+ 13 - 0
dot_bashrc.d/100-applications.sh

@@ -0,0 +1,13 @@
+#!/bin/bash
+scriptname=$(basename ${BASH_SOURCE[0]})
+scriptdirname=$(dirname ${BASH_SOURCE[0]})
+
+
+bashrcd_dir=~/.bashrc.d
+applications_dir=$bashrcd_dir/applications
+
+for i in $applications_dir/*sh; do
+	debug "include '$i'"
+	. $i
+done
+

+ 10 - 0
dot_bashrc.d/200-networking.sh

@@ -0,0 +1,10 @@
+
+# Control output of networking tool called ping
+# 	Stop after sending count ECHO_REQUEST packets #
+alias ping='ping -c 5'
+# 	Do not wait interval 1 second, go fast #
+alias fastping='ping -c 100 -s.2'
+
+# Show open ports
+#	Use netstat command to quickly list all TCP/UDP port on the server:
+alias ports='netstat -tulanp'

+ 11 - 0
dot_bashrc.d/300-shell-safety-nets.sh

@@ -0,0 +1,11 @@
+# Add safety nets
+# 	do not delete / or prompt if deleting more than 3 files at a time #
+alias rm='rm -I --preserve-root'
+# 	confirmation
+alias mv='mv -i'
+alias cp='cp -i'
+alias ln='ln -i'
+# 	Parenting changing perms on / #
+alias chown='chown --preserve-root'
+alias chmod='chmod --preserve-root'
+alias chgrp='chgrp --preserve-root'

+ 14 - 0
dot_bashrc.d/applications/cd.sh

@@ -0,0 +1,14 @@
+#!/bin/bash
+scriptname=$(basename ${BASH_SOURCE[0]})
+scriptdirname=$(dirname ${BASH_SOURCE[0]})
+
+debug "Adding cd 'dot dot dot..' aliases."
+
+## a quick way to get out of current directory ##
+alias cd..='cd ..'
+alias ..='cd ..'
+alias ...='cd ../../../'
+alias ....='cd ../../../../'
+alias .....='cd ../../../../'
+alias .4='cd ../../../../'
+alias .5='cd ../../../../..'

+ 5 - 0
dot_bashrc.d/applications/chezmoi.sh

@@ -1,3 +1,8 @@
+#!/bin/bash
+scriptname=$(basename ${BASH_SOURCE[0]})
+scriptdirname=$(dirname ${BASH_SOURCE[0]})
+
 if [ -n "$(which chezmoi)" ];then
+	debug "Adding chezmoi completion."
 	source <(chezmoi completion bash)
 fi

+ 9 - 0
dot_bashrc.d/applications/date-aliases.sh

@@ -0,0 +1,9 @@
+#!/bin/bash
+scriptname=$(basename ${BASH_SOURCE[0]})
+scriptdirname=$(dirname ${BASH_SOURCE[0]})
+
+debug "Adding 'date' aliases."
+
+alias now='date +"%T"'
+alias nowtime=now
+alias nowdate='date +"%d-%m-%Y"'

+ 26 - 0
dot_bashrc.d/applications/grep-color.sh

@@ -0,0 +1,26 @@
+#!/bin/bash
+scriptname=$(basename ${BASH_SOURCE[0]})
+scriptdirname=$(dirname ${BASH_SOURCE[0]})
+
+function debug () {
+    if [ -n "$DEBUG" ]; then
+        echo -e "$*" >&2
+    fi
+}
+
+debug "Colorizing grep aliases."
+
+## Colorize the grep command output for ease of use (good for log files)##
+
+if [ -n "$(which grep)" ]; then
+    alias grep='grep --color=auto'
+fi
+
+if [ -n "$(which grep)" ]; then
+    alias egrep='egrep --color=auto'
+fi
+
+if [ -n "$(which grep)" ]; then
+    alias fgrep='fgrep --color=auto'
+fi
+

+ 15 - 0
dot_bashrc.d/applications/ls+lsd.sh

@@ -0,0 +1,15 @@
+#!/bin/bash
+scriptname=$(basename ${BASH_SOURCE[0]})
+scriptdirname=$(dirname ${BASH_SOURCE[0]})
+
+if [ -n "$(which lsd)" ];then
+    debug "Using 'lsd'."
+	ls='lsd'
+else
+    debug "Using standard 'ls'."
+    alias ls='ls --color=auto'
+fi
+alias l='ls -l'
+alias ll='ls -l'
+alias la='ls -A'
+alias l='ls -CF'

+ 9 - 0
dot_bashrc.d/applications/mkdir.sh

@@ -0,0 +1,9 @@
+#!/bin/bash
+scriptname=$(basename ${BASH_SOURCE[0]})
+scriptdirname=$(dirname ${BASH_SOURCE[0]})
+
+
+debug "Adding mkdir aliases."
+
+# Create parent directories on demand
+alias mkdir='mkdir -pv'

+ 30 - 0
dot_bashrc.d/applications/sudo-prefix.sh

@@ -0,0 +1,30 @@
+#!/bin/bash
+scriptname=$(basename ${BASH_SOURCE[0]})
+scriptdirname=$(dirname ${BASH_SOURCE[0]})
+
+function debug () {
+    if [ -n "$DEBUG" ]; then
+        echo -e "$*" >&2
+    fi
+}
+
+function alias_prefix_sudo_if_exists() {
+    cmd="$1"
+    shift
+    opts="$*"
+    if [ -n "$(which cmd)" ]; then
+        alias $cmd="sudo $cmd $opts"
+    fi
+}
+
+if [ $UID -ne 0 ]; then
+    debug "I am not 'root'."
+    if [ -n "$(which sudo)" ]; then
+        debug "sudo is installed."
+        alias_prefix_sudo_if_exists reboot
+        alias_prefix_sudo_if_exists apt-get
+        alias_prefix_sudo_if_exists pacman
+        alias_prefix_sudo_if_exists dnf
+        alias_prefix_sudo_if_exists zypper
+    fi
+fi

+ 12 - 1
dot_bashrc.d/applications/vi.sh

@@ -1 +1,12 @@
-alias vi='nvim'
+#!/bin/bash
+scriptname=$(basename ${BASH_SOURCE[0]})
+scriptdirname=$(dirname ${BASH_SOURCE[0]})
+
+if  [ -n "$(which nvim)" ]; then
+    alias vi='nvim'
+elif [ -n "$(which vim)" ]; then
+    alias vi='vim'
+fi
+
+debug "Added 'vi' aliased: $(alias | grep vi)"
+

+ 1 - 1
dot_bashrc.d/mybashrc.sh-off

@@ -2,5 +2,5 @@
 mybashrc=~/bin/mybashrc
 
 if [ -e "$mybashrc" ]; then
-	. $mybashrc
+	echo . $mybashrc
 fi

+ 1 - 0
dot_config/symlink_starship.toml

@@ -0,0 +1 @@
+/home/rb/Cloud/rb@nc.beckes.ch/RB-Anwendungsdaten/config/starship.toml

+ 0 - 107
empty_bash_aliases

@@ -1,107 +0,0 @@
-# Add your generic aliases here
-#   (may be they are overwritten by later loaded scripts...)
-
-alias ls='ls --color=auto'
-alias grep='grep --color=auto'
-
-# some more ls aliases
-#alias ll='ls -l'
-#alias la='ls -A'
-#alias l='ls -CF'
-
-## if user is not root, pass all commands via sudo #
-if [ $UID -ne 0 ]; then
-	alias reboot='sudo reboot'
-	alias update='sudo apt-get upgrade'
-	alias apt-get="sudo apt-get"
-	alias updatey="sudo apt-get --yes"
-	# update on one command
-	alias update='sudo apt-get update && sudo apt-get upgrade'
-fi
-
-## cd specific
-## get rid of command not found ##
-alias cd..='cd ..'
-
-## a quick way to get out of current directory ##
-alias ..='cd ..'
-alias ...='cd ../../../'
-alias ....='cd ../../../../'
-alias .....='cd ../../../../'
-alias .4='cd ../../../../'
-alias .5='cd ../../../../..'
-
-## Colorize the grep command output for ease of use (good for log files)##
-alias grep='grep --color=auto'
-alias egrep='egrep --color=auto'
-alias fgrep='fgrep --color=auto'
-
-## Create parent directories on demand
-#alias mkdir='mkdir -pv'
-
-## Make mount command output pretty and human readable format
-# alias mount='mount |column -t'
-
-
-## Command short cuts to save time
-#alias h='history'
-#alias j='jobs -l'
-
-## Create a new set of commands
-#alias path='echo -e ${PATH//:/\\n}'
-alias now='date +"%T"'
-alias nowtime=now
-alias nowdate='date +"%d-%m-%Y"'
-
-## Set vim as default
-#alias vi=vim
-#alias svi='sudo vi'
-#alias vis='vim "+set si"'
-#alias edit='vim'
-
-## Control output of networking tool called ping
-## 	Stop after sending count ECHO_REQUEST packets #
-#alias ping='ping -c 5'
-## 	Do not wait interval 1 second, go fast #
-#alias fastping='ping -c 100 -s.2'
-
-## Show open ports
-##	Use netstat command to quickly list all TCP/UDP port on the server:
-#alias ports='netstat -tulanp'
-
-## Add safety nets
-## 	do not delete / or prompt if deleting more than 3 files at a time #
-# alias rm='rm -I --preserve-root'
-
-## confirmation
-#alias mv='mv -i'
-#alias cp='cp -i'
-#alias ln='ln -i'
-
-## 	Parenting changing perms on / #
-#alias chown='chown --preserve-root'
-#alias chmod='chmod --preserve-root'
-#alias chgrp='chgrp --preserve-root'
-
-## Get system memory, cpu usage, and gpu memory info quickly
-## pass options to free
-alias meminfo='free -m -l -t'
-
-## get top process eating memory
-#alias psmem='ps auxf | sort -nr -k 4'
-#alias psmem10='ps auxf | sort -nr -k 4 | head -10'
-
-## get top process eating cpu ##
-#alias pscpu='ps auxf | sort -nr -k 3'
-#alias pscpu10='ps auxf | sort -nr -k 3 | head -10'
-
-## Get server cpu info ##
-#alias cpuinfo='lscpu'
-
-## older system use /proc/cpuinfo ##
-#alias cpuinfo='less /proc/cpuinfo' ##
-## get GPU ram on desktop / laptop##
-#alias gpumeminfo='grep -i --color memory /var/log/Xorg.0.log'
-
-
-

+ 0 - 0
empty_dot_bash_aliases