# ~/.bashrc: executed by bash(1) for non-login shells. # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) # for examples TERM=xterm-256color # If not running interactively, don't do anything case $- in *i*) ;; *) return;; esac # 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=1000 HISTFILESIZE=2000 # 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= fi fi # BRAINY LIGHT THEME if [ "$color_prompt" = yes ]; then PS1="\n\[\033[00;36m\]\u@\h\[\033[00m\] \[\033[00;35m\][\[\033[00m\]\[\033[00;33m\]\w\[\033[00m\]\[\033[00;35m\]]\[\033[00m\] \[\033[00;32m\]o\[\033[00m\] \[\033[00;35m\][\[\033[00m\]\t\[\033[00;35m\]]\[\033[00m\]\n\[\033[00;35m\]>\[\033[00m\] " else PS1="\u@\h [\w] ○ [\t]\n> " fi unset color_prompt force_color_prompt # If this is an xterm set the title to user@host:dir case "$TERM" in xterm*|rxvt*) # BRAINY LIGHT THEME PS1="\n\[\033[00;36m\]\u@\h\[\033[00m\] \[\033[00;35m\][\[\033[00m\]\[\033[00;33m\]\w\[\033[00m\]\[\033[00;35m\]]\[\033[00m\] \[\033[00;32m\]o\[\033[00m\] \[\033[00;35m\][\[\033[00m\]\t\[\033[00;35m\]]\[\033[00m\]\n\[\033[00;35m\]>\[\033[00m\] " ;; *) ;; 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' # 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 # enable programmable completion features (you don't need to enable # this, if it's already enabled in /etc/bash.bashrc and /etc/profile # sources /etc/bash.bashrc). if ! shopt -oq posix; then if [ -f /usr/share/bash-completion/bash_completion ]; then . /usr/share/bash-completion/bash_completion elif [ -f /etc/bash_completion ]; then . /etc/bash_completion fi fi [ -f ${HOME}/.fzf.bash ] && source ${HOME}/.fzf.bash if [ -f $HOME/.cargo/env ] ; then . "$HOME/.cargo/env" fi if [ -f ~/.bash_completion/alacritty ] ; then source ~/.bash_completion/alacritty fi # If not running interactively, don't do anything case $- in *i*) ;; *) return;; esac # some more ls aliases alias grep='grep --color=auto' if [ -f /usr/bin/batcat ] ; then alias cat='batcat --style=plain --paging=never' elif [ -f /usr/bin/bat ] ; then alias cat='bat --style=plain --paging=never' fi if [ -f /usr/bin/exa ] ; then alias ls='exa --group-directories-first' alias tree='exa -T' else alias ls="ls --color=auto" fi alias ll='ls -l' alias la='ls -A' alias l='ls -CF' alias load="source ${HOME}/.bashrc" alias ports='netstat -tulanp' alias wget="wget --progress=dot:mega" alias df='df -hT --exclude=devtmpfs --exclude=tmpfs' alias mountt="mount | column -t | sort | egrep '^/dev'" alias cdr='cd "$(cat ~/.pwdremember)"' alias pwdr='pwd > ~/.pwdremember' # Function kernel version function kernel_version() { # Parameters longNumber=2 kernelCommand="uname -r" archCommand=$(uname -m) # Kernel version kernelVersion="" count=1 # Extract numbers of kernel version kernelVersionTemp=$(uname -r | cut -d "." -f ${count}) kernelVersionTempDot="${kernelVersionTemp}" kernelVersion="${kernelVersion}${kernelVersionTempDot}" count=$(expr ${count} + 1) while [ ${count} -le ${longNumber} ] ; do kernelVersionTemp=$(uname -r | cut -d "." -f ${count}) kernelVersionTempDot=".${kernelVersionTemp}" kernelVersion="${kernelVersion}${kernelVersionTempDot}" count=$(expr ${count} + 1) done kernelVersionTemp=$(uname -r | cut -d "." -f ${count} | cut -d "-" -f 1) kernelVersionTempDot=".${kernelVersionTemp}" kernelVersion=${kernelVersion}${kernelVersionTempDot} # Apply arch kernelVersion=${kernelVersion}-${archCommand} echo "Linux ${kernelVersion}" } # Load terminal echo "" echo -e -n "\e[32m# Preparing to start \e[0m\e[35mbash\e[0m \e[32mshell...\e[0m" clear avaibleUpdates=$(checkUpdates.sh) echo "" if [ -f ~/.config/pfetch/pfetch ] ; then if [ -f /tmp/.${USER}/pfetch ] ; then cat /tmp/.${USER}/pfetch else mkdir -p /tmp/.${USER} ~/.config/pfetch/pfetch > /tmp/.${USER}/pfetch cat /tmp/.${USER}/pfetch fi pfetch=0 else pfetch=1 fi if [ ${pfetch} -eq 1 ] ; then echo -e "\e[32m # Host $(hostname) ($(kernel_version))\e[0m" fi echo -e "\e[33m # Welcome to terminal of ${USER}\e[0m" echo -e -n "\e[35m # Available updates: \e[32m${avaibleUpdates} \e[0m" echo ""