summaryrefslogtreecommitdiff
path: root/fedora/.config/bash/bashrc
diff options
context:
space:
mode:
authorTheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com>2025-12-07 18:16:05 +0900
committerTheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com>2025-12-07 18:16:05 +0900
commit5ff02959d3069923bca63cb54c4bb246b86bf20d (patch)
tree7ef1b56fb85a48c563bb3af51c26f181741282be /fedora/.config/bash/bashrc
parentf65fe7591c18d6c8f4ecac5f379407a910aba1bc (diff)
deleted .gnupg/gpg-agent.conf, created .gnupg/, created .config/, created .local/, created .gnupg/
Diffstat (limited to 'fedora/.config/bash/bashrc')
-rw-r--r--fedora/.config/bash/bashrc169
1 files changed, 169 insertions, 0 deletions
diff --git a/fedora/.config/bash/bashrc b/fedora/.config/bash/bashrc
new file mode 100644
index 0000000..2c60286
--- /dev/null
+++ b/fedora/.config/bash/bashrc
@@ -0,0 +1,169 @@
+#!/bin/bash
+
+[[ $- != *i* ]] && return
+
+#######################################################
+# SET OPTIONS
+#######################################################
+# history
+HISTCONTROL=erasedups:ignoredups:ignorespace
+HISTFILESIZE=10000
+HISTSIZE=500
+
+# Allow ctrl-S for history navigation (with ctrl-R)
+stty -ixon
+PROMPT_COMMAND="history -a"
+unset GREP_OPTIONS
+
+set -o vi
+shopt -s autocd # goto without cd
+shopt -s direxpand # expend directory name
+shopt -s cdspell # ignore case cd
+shopt -s checkwinsize # Check the window size after each command and, if necessary, update the values of LINES and COLUMNS
+shopt -s histappend # Causes bash to append to history instead of overwriting it so if you start a new terminal, you have old session history
+
+# Completion settings
+# Ignore case on auto-completion
+# Note: bind used instead of sticking these in .inputrc
+bind "set completion-ignore-case on"
+# Show auto-completion list automatically, without double tab
+bind "set show-all-if-ambiguous on"
+
+#######################################################
+# Set command prompt
+#######################################################
+alias cpu="grep 'cpu ' /proc/stat | awk '{usage=(\$2+\$4)*100/(\$2+\$4+\$5)} END {print usage}' | awk '{printf(\"%.1f\n\", \$1)}'"
+function __setprompt {
+ local LAST_COMMAND=$? # Must come first!
+
+ # Define colors
+ local LIGHTGRAY="\033[0;37m"
+ local WHITE="\033[1;37m"
+ local BLACK="\033[0;30m"
+ local DARKGRAY="\033[1;30m"
+ local RED="\033[0;31m"
+ local LIGHTRED="\033[1;31m"
+ local GREEN="\033[0;32m"
+ local LIGHTGREEN="\033[1;32m"
+ local BROWN="\033[0;33m"
+ local YELLOW="\033[1;33m"
+ local BLUE="\033[0;34m"
+ local LIGHTBLUE="\033[1;34m"
+ local MAGENTA="\033[0;35m"
+ local LIGHTMAGENTA="\033[1;35m"
+ local CYAN="\033[0;36m"
+ local LIGHTCYAN="\033[1;36m"
+ local NOCOLOR="\033[0m"
+
+ # Show error exit code if there is one
+ if [[ $LAST_COMMAND != 0 ]]; then
+ # PS1="\[${RED}\](\[${LIGHTRED}\]ERROR\[${RED}\])-(\[${LIGHTRED}\]Exit Code \[${WHITE}\]${LAST_COMMAND}\[${RED}\])-(\[${LIGHTRED}\]"
+ PS1="\[${DARKGRAY}\](\[${LIGHTRED}\]ERROR\[${DARKGRAY}\])-(\[${RED}\]Exit Code \[${LIGHTRED}\]${LAST_COMMAND}\[${DARKGRAY}\])-(\[${RED}\]"
+ if [[ $LAST_COMMAND == 1 ]]; then
+ PS1+="General error"
+ elif [ $LAST_COMMAND == 2 ]; then
+ PS1+="Missing keyword, command, or permission problem"
+ elif [ $LAST_COMMAND == 126 ]; then
+ PS1+="Permission problem or command is not an executable"
+ elif [ $LAST_COMMAND == 127 ]; then
+ PS1+="Command not found"
+ elif [ $LAST_COMMAND == 128 ]; then
+ PS1+="Invalid argument to exit"
+ elif [ $LAST_COMMAND == 129 ]; then
+ PS1+="Fatal error signal 1"
+ elif [ $LAST_COMMAND == 130 ]; then
+ PS1+="Script terminated by Control-C"
+ elif [ $LAST_COMMAND == 131 ]; then
+ PS1+="Fatal error signal 3"
+ elif [ $LAST_COMMAND == 132 ]; then
+ PS1+="Fatal error signal 4"
+ elif [ $LAST_COMMAND == 133 ]; then
+ PS1+="Fatal error signal 5"
+ elif [ $LAST_COMMAND == 134 ]; then
+ PS1+="Fatal error signal 6"
+ elif [ $LAST_COMMAND == 135 ]; then
+ PS1+="Fatal error signal 7"
+ elif [ $LAST_COMMAND == 136 ]; then
+ PS1+="Fatal error signal 8"
+ elif [ $LAST_COMMAND == 137 ]; then
+ PS1+="Fatal error signal 9"
+ elif [ $LAST_COMMAND -gt 255 ]; then
+ PS1+="Exit status out of range"
+ else
+ PS1+="Unknown error code"
+ fi
+ PS1+="\[${DARKGRAY}\])\[${NOCOLOR}\]\n"
+ else
+ PS1=""
+ fi
+
+ # Date
+ PS1+="\[${DARKGRAY}\](\[${CYAN}\]\$(date +%a) $(date +%b-'%-m')" # Date
+ PS1+="${BLUE} $(date +'%-I':%M:%S%P)\[${DARKGRAY}\])-" # Time
+
+ # CPU
+ PS1+="(\[${MAGENTA}\]CPU $(cpu)%"
+
+ # Jobs
+ PS1+="\[${DARKGRAY}\]:\[${MAGENTA}\]\j"
+
+ # Network Connections (for a server - comment out for non-server)
+ PS1+="\[${DARKGRAY}\]:\[${MAGENTA}\]Net $(awk 'END {print NR}' /proc/net/tcp)"
+
+ PS1+="\[${DARKGRAY}\])-"
+
+ # User and server
+ local SSH_IP=$(echo $SSH_CLIENT | awk '{ print $1 }')
+ local SSH2_IP=$(echo $SSH2_CLIENT | awk '{ print $1 }')
+ if [ $SSH2_IP ] || [ $SSH_IP ]; then
+ PS1+="(\[${RED}\]\u@\h"
+ else
+ PS1+="(\[${RED}\]\u"
+ fi
+
+ # Current directory
+ PS1+="\[${DARKGRAY}\]:\[${BROWN}\]\w\[${DARKGRAY}\])-"
+
+ # Total size of files in current directory
+ PS1+="(\[${GREEN}\]$(/bin/ls -lah | /bin/grep -m 1 total | /bin/sed 's/total //')\[${DARKGRAY}\]:"
+
+ # Number of files
+ PS1+="\[${GREEN}\]\$(/bin/ls -A -1 | /usr/bin/wc -l)\[${DARKGRAY}\])"
+
+ # Skip to the next line
+ PS1+="\n"
+
+ if [[ $EUID -ne 0 ]]; then
+ PS1+="\[${GREEN}\]>\[${NOCOLOR}\] " # Normal user
+ else
+ PS1+="\[${RED}\]>\[${NOCOLOR}\] " # Root user
+ fi
+
+ # PS2 is used to continue a command using the \ character
+ PS2="\[${DARKGRAY}\]>\[${NOCOLOR}\] "
+
+ # PS3 is used to enter a number choice in a script
+ PS3='Please enter a number from above list: '
+
+ # PS4 is used for tracing a script in debug mode
+ PS4='\[${DARKGRAY}\]+\[${NOCOLOR}\] '
+}
+# PROMPT_COMMAND='__setprompt'
+PS1="\[\e[1m\]\[\e[31m\][\[\e[33m\]\u\[\e[32m\]@\[\e[34m\]\h \[\e[35m\]\W\[\e[31m\]]\[\e[37m\]\\$ \[\e[0m\]"
+
+#######################################################
+# KEY BINDING
+#######################################################
+
+bind '"\C-l":clear-screen'
+bind '"\C-g":"lfcd\n"'
+
+#######################################################
+# SOURCE
+#######################################################
+
+eval "$(dircolors)"
+
+[ -f "${XDG_SCRIPTS_HOME:-${HOME}/.local/bin}/bash-preexec" ] && . "${XDG_SCRIPTS_HOME:-${HOME}/.local/bin}/bash-preexec"
+[ -f "${XDG_CONFIG_HOME:-${HOME}/.config}/shell/rootshortcutrc" ] && . "${XDG_CONFIG_HOME:-${HOME}/.config}/shell/rootshortcutrc"
+[ -f "${XDG_CONFIG_HOME:-${HOME}/.config}/shell/rootzshnameddirrc" ] && . "${XDG_CONFIG_HOME:-${HOME}/.config}/shell/rootzshnameddirrc"