139 lines
3.5 KiB
Bash
139 lines
3.5 KiB
Bash
# Custom scripts
|
|
|
|
|
|
|
|
#find ~/.scripts/ ~/.gscripts/ -type f -name "*.sh" | while read script; do
|
|
#source "$script"
|
|
#done
|
|
[ -f ~/.scripts/index.sh ] && source ~/.scripts/index.sh
|
|
[ -f ~/.gscripts/index.sh ] && source ~/.gscripts/index.sh
|
|
|
|
# Prompt
|
|
if [[ $USER == 'root' ]]; then
|
|
col=31;
|
|
elif [[ -n $ME ]]; then # $ME is a var set by my private config that is not empty if it is my account (and not a system account e.g. `git`)
|
|
col=32;
|
|
else
|
|
col=33;
|
|
fi
|
|
|
|
export USER=$(whoami)
|
|
PS1="\[\e]2;\u@\h \w\a\]\[\e[0;37m\][\[\e[0;${col}m\]\u\[\e[0;37m\]@\[\e[0;34m\]\h \[\e[0;36m\]\W\[\e[0;37m\]]\$\[\e[0m\] "
|
|
PS2="> "
|
|
PS3="+ "
|
|
PS4="- "
|
|
|
|
|
|
# Vars
|
|
export PAGER=less
|
|
export EDITOR=vim
|
|
export VISUAL=vim
|
|
export BROWSER=/usr/bin/qutebrowser
|
|
export TZ=/usr/share/zoneinfo/Europe/Paris
|
|
|
|
export PATH="$PATH"
|
|
if [ -d $HOME/.gem/ruby ]; then
|
|
$(which ls) $HOME/.gem/ruby | while read rubyVer; do
|
|
export PATH="$PATH:$HOME/.gem/ruby/$rubyVer/bin/"
|
|
done
|
|
fi
|
|
export PATH="$(echo "$PATH" | sed 's|:|\n|g' | sort | uniq | tr '\n' ':' | sed 's|:$||')"
|
|
export LANG=fr_FR.utf8
|
|
export HISTSIZE=10000
|
|
export HISTFILESIZE=${HISTSIZE}
|
|
export HISTCONTROL=ignoreboth
|
|
export JAVA_FONTS=/usr/share/fonts/TTF
|
|
export ANDROID_HOME=/opt/android-sdk
|
|
export GOPATH=$HOME/.go
|
|
|
|
if [ -z $XDG_CONFIG_HOME ]; then
|
|
export XDG_CONFIG_HOME=$HOME/.config
|
|
fi
|
|
|
|
# Tweaks
|
|
[[ $- != *i* ]] && return
|
|
|
|
if [ -f /etc/bash_completion ]; then . /etc/bash_completion; fi
|
|
|
|
xhost +local:root > /dev/null 2>&1
|
|
|
|
complete -cf sudo
|
|
|
|
shopt -s cdspell
|
|
shopt -s checkwinsize
|
|
shopt -s cmdhist
|
|
shopt -s dotglob
|
|
shopt -s expand_aliases
|
|
shopt -s extglob
|
|
shopt -s histappend
|
|
shopt -s hostcomplete
|
|
|
|
export LS_OPTIONS='--group-directories-first --time-style=+"%d/%m/%Y %H:%M" --color=auto --classify --human-readable'
|
|
alias ls="ls $LS_OPTIONS"
|
|
alias ll="ls -l $LS_OPTIONS"
|
|
alias la="ls -la $LS_OPTIONS"
|
|
alias al=sl
|
|
alias grep='grep --color=tty -d skip'
|
|
alias mkdir='mkdir -v'
|
|
alias cp="cp -i"
|
|
alias mv="mv -iv"
|
|
alias dd='dd status=progress'
|
|
alias rm='rm -Iv --one-file-system'
|
|
alias free='free -m'
|
|
alias df='df -h'
|
|
alias 49.3='sudo'
|
|
alias pacman='pacman --color auto'
|
|
alias x='startx; logout'
|
|
alias s='sudo -s -E'
|
|
|
|
if which gopass &> /dev/null; then
|
|
alias pass='gopass'
|
|
fi
|
|
|
|
# Utils
|
|
if which thefuck &> /dev/null; then
|
|
alias fuck='TF_CMD=$(TF_ALIAS=fuck PYTHONIOENCODING=utf-8 TF_SHELL_ALIASES=$(alias) thefuck $(fc -ln -1)) && eval $TF_CMD && history -s $TF_CMD'
|
|
alias FUCK='fuck'
|
|
fi
|
|
|
|
|
|
# Command not found
|
|
[ -r /usr/share/doc/pkgfile/command-not-found.bash ] && . /usr/share/doc/pkgfile/command-not-found.bash
|
|
[ -r /etc/profile.d/cnf.sh ] && . /etc/profile.d/cnf.sh
|
|
|
|
# Functions
|
|
function clean {
|
|
find . -type d -name bower_components -or -name node_modules -print0 | while read file; do
|
|
rm -rf "$file"
|
|
done
|
|
find . -type f -name Makefile -print0 | while IFS= read -r -d '' file; do
|
|
echo "--> $file"
|
|
(cd "${file//Makefile}"; make clean)
|
|
done
|
|
find . -type d -name .git -print0 | while IFS= read -r -d '' dir; do
|
|
echo "--> $file"
|
|
(cd "$dir"; git gc)
|
|
done
|
|
}
|
|
|
|
function dafont {
|
|
wget "http://dl.dafont.com/dl/?f=$1" -O /tmp/dafont.zip
|
|
unzip /tmp/dafont.zip -d ~/.local/share/fonts -x *.txt
|
|
rm -rf /tmp/dafont.zip
|
|
}
|
|
|
|
alias nw="sudo systemctl restart NetworkManager"
|
|
|
|
# Clears everything it can to save space
|
|
function emergency-space {
|
|
rm -rf $HOME/.cache
|
|
if which pacman &> /dev/null; then
|
|
sudo pacman -Scc
|
|
elif which apt-get &> /deb/null; then
|
|
sudo apt-get clean
|
|
fi
|
|
if which journalctl &> /dev/null; then
|
|
sudo journalctl --vacuum-size=100M
|
|
fi
|
|
}
|