dotfiles/bashrc

143 lines
3.8 KiB
Bash
Raw Normal View History

2015-07-12 18:29:52 +02:00
# Custom scripts
2016-03-14 13:49:51 +01:00
2015-10-09 18:45:44 +02:00
#find ~/.scripts/ ~/.gscripts/ -type f -name "*.sh" | while read script; do
#source "$script"
#done
2016-03-14 13:49:51 +01:00
[ -f ~/.scripts/index.sh ] && source ~/.scripts/index.sh
[ -f ~/.gscripts/index.sh ] && source ~/.gscripts/index.sh
2015-07-12 18:29:52 +02:00
# 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
2015-12-07 21:54:40 +01:00
export USER=$(whoami)
export HOSTNAME=$(cat /etc/hostname)
2016-11-02 11:54:27 +01:00
HOST=${HOSTNAME%%.*}
2016-11-17 05:48:44 +01:00
PS1="\[\e]2;\u@${HOST} \w\a\]\[\e[0;37m\][\[\e[0;${col}m\]\u\[\e[0;37m\]@\[\e[0;34m\]${HOST} \[\e[0;36m\]\W\[\e[0;37m\]]\$\[\e[0m\] "
2016-06-02 10:31:06 +02:00
PS2="> "
PS3="+ "
PS4="+ "
2015-07-12 18:29:52 +02:00
# Vars
2016-02-25 20:35:44 +01:00
export PAGER=less
2015-07-12 18:29:52 +02:00
export EDITOR=vim
2016-02-25 20:35:44 +01:00
export VISUAL=vim
2016-06-20 17:28:17 +02:00
export BROWSER=/usr/bin/qutebrowser
2016-02-25 20:35:44 +01:00
export TZ=/usr/share/zoneinfo/Europe/Paris
2015-07-12 18:29:52 +02:00
2015-09-24 18:08:29 +02:00
export PATH="$PATH:$HOME/.local/bin:$HOME/.cabal/bin:$HOME/.gem/ruby/2.2.0/bin/"
2015-07-12 18:29:52 +02:00
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
2016-12-18 15:10:40 +01:00
export GOPATH=$HOME/.go
2015-07-12 18:29:52 +02:00
2016-11-23 18:56:15 +01:00
if [ -z $XDG_CONFIG_HOME ]; then
export XDG_CONFIG_HOME=$HOME/.config
fi
2015-07-12 18:29:52 +02:00
# 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
shopt -s autocd
2016-05-12 19:39:38 +02:00
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"
2015-11-20 14:03:59 +01:00
alias al=sl
2015-07-12 18:29:52 +02:00
alias grep='grep --color=tty -d skip'
2016-05-12 19:39:38 +02:00
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'
2016-06-02 10:31:06 +02:00
alias 49.3='sudo'
2016-05-14 17:31:21 +02:00
alias pacman='pacman --color auto'
2016-12-08 21:43:45 +01:00
alias x='startx; logout'
2016-12-11 23:13:54 +01:00
alias s='sudo -s -E'
2015-07-12 18:29:52 +02:00
2015-09-24 18:08:29 +02:00
# Solarized theme for tty, the dark version.
# Based on:
# - Solarized (http://ethanschoonover.com/solarized)
# - Xresources from http://github.com/altercation/solarized
# Generated with pty2tty.awk by Joep van Delft
# http://github.com/joepvd/tty-solarized
if [ "$TERM" = "linux" ]; then
echo -en "\e]PB657b83" # S_base00
echo -en "\e]PA586e75" # S_base01
echo -en "\e]P0073642" # S_base02
echo -en "\e]P62aa198" # S_cyan
echo -en "\e]P8002b36" # S_base03
echo -en "\e]P2859900" # S_green
echo -en "\e]P5d33682" # S_magenta
echo -en "\e]P1dc322f" # S_red
echo -en "\e]PC839496" # S_base0
echo -en "\e]PE93a1a1" # S_base1
echo -en "\e]P9cb4b16" # S_orange
echo -en "\e]P7eee8d5" # S_base2
echo -en "\e]P4268bd2" # S_blue
echo -en "\e]P3b58900" # S_yellow
echo -en "\e]PFfdf6e3" # S_base3
echo -en "\e]PD6c71c4" # S_violet
clear # against bg artifacts
fi
2015-07-12 18:29:52 +02:00
# Utils
alias fuck='eval $(thefuck $(fc -ln -1))'
alias FUCK='fuck'
2016-05-01 14:48:54 +02:00
# Command not found
2015-07-12 18:29:52 +02:00
[ -r /etc/profile.d/cnf.sh ] && . /etc/profile.d/cnf.sh
[ -r /usr/share/doc/pkgfile/command-not-found.bash ] && . /usr/share/doc/pkgfile/command-not-found.bash
2015-07-12 18:29:52 +02:00
# Functions
function clean {
2016-06-02 10:31:06 +02:00
find . -type d -name bower_components -or -name node_modules -print0 | while read file; do
2015-07-12 18:29:52 +02:00
rm -rf "$file"
done
2016-02-20 23:56:34 +01:00
find . -type f -name Makefile -print0 | while IFS= read -r -d '' file; do
2015-07-12 18:29:52 +02:00
echo "--> $file"
2016-03-16 14:23:24 +01:00
(cd "${file//Makefile}"; make clean)
2015-07-12 18:29:52 +02:00
done
2016-02-20 23:56:34 +01:00
find . -type d -name .git -print0 | while IFS= read -r -d '' dir; do
echo "--> $file"
(cd "$dir"; git gc)
done
2015-07-12 18:29:52 +02:00
}
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
}
2015-09-24 18:08:29 +02:00
alias nw="sudo systemctl restart NetworkManager"