From ad58b57df7b298bc3e25c578f590d44da3ce36c9 Mon Sep 17 00:00:00 2001 From: Baitinq Date: Fri, 17 Jun 2022 19:09:27 +0200 Subject: Initial commit --- dotfiles/.bashrc | 237 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 237 insertions(+) create mode 100644 dotfiles/.bashrc (limited to 'dotfiles/.bashrc') diff --git a/dotfiles/.bashrc b/dotfiles/.bashrc new file mode 100644 index 0000000..adc407a --- /dev/null +++ b/dotfiles/.bashrc @@ -0,0 +1,237 @@ +VISUAL=nvim; export VISUAL +EDITOR=nvim; export EDITOR +TERMINAL=st; export TERMINAL + +# ~/.bashrc: executed by bash(1) for non-login shells. +# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) +# for examples + +# 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) TERM=xterm-256color;; 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 + +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 -alF' +alias la='ls -A' +alias l='ls -CF' + +# Add an "alert" alias for long running commands. Use like so: +# sleep 10; alert +alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"' + +# 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 + +#aliases +alias sx='startx && exit' +alias vim='nvim' +alias mutt='neomutt' +alias vifm='~/.config/vifm/scripts/vifmrun' +alias q='exit' +alias c='clear' +alias h='history' +alias youtube-mp3='youtube-dl --ignore-errors --extract-audio --audio-format mp3' +alias update-grub='grub-mkconfig -o /boot/grub/grub.cfg' +alias music='ncmpcpp' +alias null='/dev/null' + +#themes and colors TODO + +# define colors +C_DEFAULT="\[\033[m\]" +C_WHITE="\[\033[1m\]" +C_BLACK="\[\033[30m\]" +C_RED="\[\033[31m\]" +C_GREEN="\[\033[32m\]" +C_YELLOW="\[\033[33m\]" +C_BLUE="\[\033[34m\]" +C_PURPLE="\[\033[35m\]" +C_CYAN="\[\033[36m\]" +C_LIGHTGRAY="\[\033[37m\]" +C_DARKGRAY="\[\033[1;30m\]" +C_LIGHTRED="\[\033[1;31m\]" +C_LIGHTGREEN="\[\033[1;32m\]" +C_LIGHTYELLOW="\[\033[1;33m\]" +C_LIGHTBLUE="\[\033[1;34m\]" +C_LIGHTPURPLE="\[\033[1;35m\]" +C_LIGHTCYAN="\[\033[1;36m\]" +C_BG_BLACK="\[\033[40m\]" +C_BG_RED="\[\033[41m\]" +C_BG_GREEN="\[\033[42m\]" +C_BG_YELLOW="\[\033[43m\]" +C_BG_BLUE="\[\033[44m\]" +C_BG_PURPLE="\[\033[45m\]" +C_BG_CYAN="\[\033[46m\]" +C_BG_LIGHTGRAY="\[\033[47m\]" + +#Functions + +# Extract many files with one command +function extract () { + if [ -f $1 ] ; then + case $1 in + *.tar.bz2) tar xvjf $1 ;; + *.tar.gz) tar xvzf $1 ;; + *.tar.xz) tar Jxvf $1 ;; + *.bz2) bunzip2 $1 ;; + *.rar) rar x $1 ;; + *.gz) gunzip $1 ;; + *.tar) tar xvf $1 ;; + *.tbz2) tar xvjf $1 ;; + *.tgz) tar xvzf $1 ;; + *.zip) unzip -d `echo $1 | sed 's/\(.*\)\.zip/\1/'` $1;; + *.Z) uncompress $1 ;; + *.7z) 7z x $1 ;; + *) echo "don't know how to extract '$1'" ;; + esac + else + echo "'$1' is not a valid file!" + fi +} + +#cd/.. +function up () { + LIMIT=$1 + P=$PWD/.. + for ((i=1; i < LIMIT; i++)) + do + P=$P/.. + done + cd $P +} + +function short () { + tinyURL="$(curl -s "http://tinyurl.com/create.php?url=$1" | grep -i "Success" -B1 | head -1 | sed 's,,,' | sed 's,,,' | xargs)" + echo "$tinyURL" +} + +function weather(){ + curl -s "wttr.in/$1?m1" | head -17 +} + + +function sysinfo () { + printf "CPU: " + cat /proc/cpuinfo | grep "model name" | head -1 | awk '{ for (i = 4; i <= NF; i++) printf "%s ", $i }' + printf "\n" + + cat /etc/issue | awk '{ printf "OS: %s %s %s %s | " , $1 , $2 , $3 , $4 }' + uname -a | awk '{ printf "Kernel: %s " , $3 }' + uname -m | awk '{ printf "%s | " , $1 }' + printf "\n" + uptime | awk '{ printf "Uptime: %s %s %s", $3, $4, $5 }' | sed 's/,//g' +} + +#create a package list file +function backup(){ + echo "Creating backup..." + pacman -Qqe > pacmanBackup.lst + echo "Backed up normal repositories..." + pacman -Qqm > pacmanAURBackup.lst + echo "Backed up AUR repositories..." + printf "\n" + echo "Done!, use cat pacman.lst | xargs pacman -S --needed --noconfirm to restore" +} + +#delete pacman lock +function unlock(){ + sudo rm /var/lib/pacman/db.lck + echo "Deleted db.lck!" +} -- cgit 1.4.1