diff --git a/.bash_profile b/.bash_profile new file mode 100644 index 0000000..f26d028 --- /dev/null +++ b/.bash_profile @@ -0,0 +1,34 @@ +# +# ~/.bash_profile +# + + +[[ -f ~/.extend.bash_profile ]] && . ~/.extend.bash_profile +[[ -f ~/.bashrc ]] && . ~/.bashrc + +export VISUAL=vim +export EDITOR=vim +export PAGER=less +export PATH=~/.gem/ruby/2.5.0/bin:~/.local/bin:$PATH + +export LANG=fr_FR.UTF-8 +export LANGUAGE=fr_FR:fr:en +export HASTE_SERVER="https://haste.breizh.me" + +eval $(ssh-agent -s) + +#~/.local/bin/vconsole + +if [ -z "$DISPLAY" ] && [ -n "$XDG_VTNR" ] && [ "$XDG_VTNR" -eq 1 ]; then +# play -q /usr/share/sounds/freedesktop/stereo/service-login.oga & + export GTK2_RC_FILES="$HOME/.gtkrc-2.0" + export QT_QPA_PLATFORMTHEME=qt5ct + export BROWSER="firefox" + export TERMINAL=urxvtc + export DMENU_OPTIONS="-nb #2d2d2d -nf #747369 -sb #6699cc -sf #2d2d2d" + startx + logout +else + export BROWSER=elinks + exec fish +fi diff --git a/.bashrc b/.bashrc new file mode 100644 index 0000000..e4f1798 --- /dev/null +++ b/.bashrc @@ -0,0 +1,290 @@ +#!/bin/bash +if [[ $- != *i* ]] ; then + # Shell is non-interactive. Be done now! + return +fi + +xhost +local:root > /dev/null 2>&1 + +## git completion +source /usr/share/git/completion/git-prompt.sh +source /usr/share/git/completion/git-completion.bash + +export GIT_PS1_SHOWDIRTYSTATE=1 GIT_PS1_SHOWSTASHSTATE=1 GIT_PS1_SHOWUNTRACKEDFILES=1 +export GIT_PS1_SHOWUPSTREAM=verbose GIT_PS1_DESCRIBE_STYLE=branch + +## Define colors + +BASE16_SHELL=$HOME/.config/base16-shell/ +[ -n "$PS1" ] && [ -s $BASE16_SHELL/profile_helper.sh ] && eval "$($BASE16_SHELL/profile_helper.sh)" + +## Reset +Text_Reset='\e[0m' # Text Reset + +## Regular Colors +Black='\e[0;30m' # Black +Red='\e[0;31m' # Red +Green='\e[0;32m' # Green +Yellow='\e[0;33m' # Yellow +Blue='\e[0;34m' # Blue +Purple='\e[0;35m' # Purple +Cyan='\e[0;36m' # Cyan +White='\e[0;37m' # White + +## Bold +BBlack='\e[1;30m' # Black +BRed='\e[1;31m' # Red +BGreen='\e[1;32m' # Green +BYellow='\e[1;33m' # Yellow +BBlue='\e[1;34m' # Blue +BPurple='\e[1;35m' # Purple +BCyan='\e[1;36m' # Cyan +BWhite='\e[1;37m' # White + +## Underline +UBlack='\e[4;30m' # Black +URed='\e[4;31m' # Red +UGreen='\e[4;32m' # Green +UYellow='\e[4;33m' # Yellow +UBlue='\e[4;34m' # Blue +UPurple='\e[4;35m' # Purple +UCyan='\e[4;36m' # Cyan +UWhite='\e[4;37m' # White + +## Background +On_Black='\e[40m' # Black +On_Red='\e[41m' # Red +On_Green='\e[42m' # Green +On_Yellow='\e[43m' # Yellow +On_Blue='\e[44m' # Blue +On_Purple='\e[45m' # Purple +On_Cyan='\e[46m' # Cyan +On_White='\e[47m' # White + +## High Intensity +# IBlack='\e[0;90m' # Black +# IRed='\e[0;91m' # Red +# IGreen='\e[0;92m' # Green +# IYellow='\e[0;93m' # Yellow +# IBlue='\e[0;94m' # Blue +# IPurple='\e[0;95m' # Purple +# ICyan='\e[0;96m' # Cyan +# IWhite='\e[0;97m' # White + +## Bold High Intensity +# BIBlack='\e[1;90m' # Black +# BIRed='\e[1;91m' # Red +# BIGreen='\e[1;92m' # Green +# BIYellow='\e[1;93m' # Yellow +# BIBlue='\e[1;94m' # Blue +# BIPurple='\e[1;95m' # Purple +# BICyan='\e[1;96m' # Cyan +# BIWhite='\e[1;97m' # White + +## High Intensity backgrounds +# On_IBlack='\e[0;100m' # Black +# On_IRed='\e[0;101m' # Red +# On_IGreen='\e[0;102m' # Green +# On_IYellow='\e[0;103m' # Yellow +# On_IBlue='\e[0;104m' # Blue +# On_IPurple='\e[0;105m' # Purple +# On_ICyan='\e[0;106m' # Cyan +# On_IWhite='\e[0;107m' # White + +# Less colors +export LESS_TERMCAP_mb=$'\E[01;31m' +export LESS_TERMCAP_md=$'\E[01;31m' +export LESS_TERMCAP_me=$'\E[0m' +export LESS_TERMCAP_so=$'\E[01;44;33m' +export LESS_TERMCAP_se=$'\E[0m' +export LESS_TERMCAP_us=$'\E[01;32m' +export LESS_TERMCAP_ue=$'\E[0m' +export LESS="-RI" + +use_color=true + +prompt() { + error=$? + echo -ne "${BBlack}" + echo -n "$(date +%H:%M:%S) " + if [[ $error -eq 0 ]] + then + echo -ne "${Green}OK" + elif [[ $error -eq 127 ]] + then + echo -ne "${Yellow}Unknown command (error $error)" + else + echo -ne "${Red}Error $error" + fi + echo -ne "$Text_Reset" + __git_ps1 + echo +} + +PROMPT_COMMAND=prompt + +# Set colorful PS1 only on colorful terminals. +# dircolors --print-database uses its own built-in database +# instead of using /etc/DIR_COLORS. Try to use the external file +# first to take advantage of user additions. Use internal bash +# globbing instead of external grep binary. +safe_term=${TERM//[^[:alnum:]]/?} # sanitize TERM +match_lhs="" +[[ -f ~/.dir_colors ]] && match_lhs="${match_lhs}$(<~/.dir_colors)" +[[ -f /etc/DIR_COLORS ]] && match_lhs="${match_lhs}$(/dev/null \ + && match_lhs=$(dircolors --print-database) +[[ $'\n'${match_lhs} == *$'\n'"TERM "${safe_term}* ]] && use_color=true + +if ${use_color} ; then + # Enable colors for ls, etc. Prefer ~/.dir_colors #64489 + if type -P dircolors >/dev/null ; then + if [[ -f ~/.dir_colors ]] ; then + eval $(dircolors -b ~/.dir_colors) + elif [[ -f /etc/DIR_COLORS ]] ; then + eval $(dircolors -b /etc/DIR_COLORS) + fi + fi + + if [[ ${EUID} == 0 ]] ; then + PS1='\[\033[01;31m\][\h\[\033[01;36m\] \W\[\033[01;31m\]]\$\[\033[00m\] ' + else + PS1='\[\033[01;32m\][\u@\h\[\033[01;37m\] \W\[\033[01;32m\]]\$\[\033[00m\] ' + fi + + alias ls='ls --color=auto' + alias grep='grep --colour=auto' + alias egrep='egrep --colour=auto' + alias fgrep='fgrep --colour=auto' +else + if [[ ${EUID} == 0 ]] ; then + # show root@ when we don't have colors + PS1='\u@\h \W \$ ' + else + PS1='\u@\h \w \$ ' + fi +fi + +unset use_color safe_term match_lhs sh + +export PAGER=less + +alias df='df -h' # human-readable sizes +alias free='free -m' # show sizes in MB +alias np='vim -w PKGBUILD' +#alias more=less + +xhost +local:root > /dev/null 2>&1 + +complete -cf sudo + +# Bash won't get SIGWINCH if another process is in the foreground. +# Enable checkwinsize so that bash will check the terminal size when +# it regains control. #65623 +# http://cnswww.cns.cwru.edu/~chet/bash/FAQ (E11) +shopt -s checkwinsize + +shopt -s expand_aliases + + +# export QT_SELECT=4 + +# Enable history appending instead of overwriting. #139609 +shopt -s histappend + +# +# # ex - archive extractor +# # usage: ex +ex () +{ + if [ -f $1 ] ; then + case $1 in + *.tar.bz2) tar xjf $1 ;; + *.tar.gz) tar xzf $1 ;; + *.bz2) bunzip2 $1 ;; + *.rar) unrar x $1 ;; + *.gz) gunzip $1 ;; + *.tar) tar xf $1 ;; + *.tbz2) tar xjf $1 ;; + *.tgz) tar xzf $1 ;; + *.zip) unzip $1 ;; + *.Z) uncompress $1;; + *.7z) 7z x $1 ;; + *) echo "'$1' cannot be extracted via ex()" ;; + esac + else + echo "'$1' is not a valid file" + fi +} + +more() { + if [ $# -eq 1 ]; then if [ $1 = "ituri" ]; then + echo "te salutant"; return + fi; fi + \less "$@" +} + +colors() { + local fgc bgc vals seq0 + + printf "Color escapes are %s\n" '\e[${value};...;${value}m' + printf "Values 30..37 are \e[33mforeground colors\e[m\n" + printf "Values 40..47 are \e[43mbackground colors\e[m\n" + printf "Value 1 gives a \e[1mbold-faced look\e[m\n\n" + + # foreground colors + for fgc in {30..37}; do + # background colors + for bgc in {40..47}; do + fgc=${fgc#37} # white + bgc=${bgc#40} # black + + vals="${fgc:+$fgc;}${bgc}" + vals=${vals%%;} + + seq0="${vals:+\e[${vals}m}" + printf " %-9s" "${seq0:-(default)}" + printf " ${seq0}TEXT\e[m" + printf " \e[${vals:+${vals+$vals;}}1mBOLD\e[m" + done + echo; echo + done +} + +# better yaourt colors +# export YAOURT_COLORS="nb=1:pkg=1:ver=1;32:lver=1;45:installed=1;42:grp=1;34:od=1;41;5:votes=1;44:dsc=0:other=1;35" + +export EDITOR=vim + +# fix "xdg-open fork-bomb" export your preferred browser from here + +alias conf='vim $HOME/.i3/config' +alias comp='vim $HOME/.config/compton.conf' +alias fixit='sudo rm -f /var/lib/pacman/db.lck' +alias inst='yaourt -S' +alias la='ls -la --group-directories-first --time-style=+"%d.%m.%Y %H:%M" --color=auto -F' +alias ll='ls -l --group-directories-first --time-style=+"%d.%m.%Y %H:%M" --color=auto -F' +alias rm='rm --preserve-root -I -v' +alias mirrors='sudo pacman-mirrors -g' +alias printer='system-config-printer' +alias update='yaourt -Syua' +alias mk='vim makefile' +alias mv='amv -gi' +alias cp='acp -gir' +alias n='vim' +alias diff='icdiff' +alias f='fuck' +#alias grep='rg' +alias news='newsbeuter' +#alias ssh-add='ssh-add -t 1800' +alias meteo='curl -H "Accept-Language: fr" wttr.in/Nantes' +alias moon='curl -H "Accept-Language: fr" wttr.in/Moon' + +. /usr/share/doc/ranger/examples/bash_automatic_cd.sh + +eval $(thefuck --alias) + +# change title + +trap 'echo -ne "\e]0;$PWD > $BASH_COMMAND\007"' DEBUG