Skip to content

Instantly share code, notes, and snippets.

@bouyagas
Created May 5, 2020 14:57
Show Gist options
  • Save bouyagas/eabe046218634717cd433694dbe36d47 to your computer and use it in GitHub Desktop.
Save bouyagas/eabe046218634717cd433694dbe36d47 to your computer and use it in GitHub Desktop.
# ~/.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-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
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'
# Multiple commands
function lazyman() {
git add .
git commit -a -m "$1"
git push -u origin master
}
# Some more ls aliases
alias ll='ls -l'
alias la='ls -A'
alias l='ls -CF'
# make the dir command work kinda like in windows (long format)
alias dir='ls --color=auto --format=long'
alias subdir='ls -d */'
# Directory
alias diskusage="df -h"
alias folderusage="du -ch"
alias totalfolderusage="du -sh"
# Services
alias myservices='sudo service --status-all | less'
# Rust
alias rtu='rustup update'
alias rttl='rustup target list'
alias rts='rustup show'
alias rtth='rustup toolchain help'
alias rtmc='rustup man cargo'
alias rtta='rustup target add'
alias rttr='rustup target remove'
# Cargo
alias cr='cargo run'
alias cnb='cargo new --bin'
alias cnl='cargo new --lib'
alias cb='cargo build'
alias cbx='cargo xbuild'
alias cc='cargo check'
alias ci='cargo install'
alias cun='cargo uninstall'
alias ca='cargo add'
alias cre='cargo remove'
alias cu='cargo update'
alias cmu='cargo multi update'
alias cmb='cargo multi build'
alias cmt='cargo multi test'
alias cg='cargo generate --git'
alias cwb='cargo web build'
alias cwbtw='cargo web build --target=wasm32-unknown-unknown'
alias cwc='cargo web check'
alias cwt='cargo web test'
alias cws='cargo web start'
alias cwd='cargo web deploy'
# WebAssembly
alias wpn='wasm-pack new'
alias wpb='wasm-pack build'
alias wpp='wasm-pack publish'
alias wpl='wasm-pack login'
# Home
alias ,='cd ~'
# Work
alias work='cd code'
alias n='cd code/node'
alias r='cd code/rust'
alias p='cd code/python'
alias G='cd code/go'
alias lfr="ranger"
# Python
alias python='python3'
alias pyenvs='python3 -m venv env'
alias pyenva='source env/bin/activate'
alias host_file='python3 -m http.server'
# Bash edit
alias eb='emacs .bashrc'
# Quick
alias q='exit'
# Power of
alias off='sudo power off'
# Shutdown
alias sdhn='shutdown -h now'
# Emacs
alias e='emacs'
alias ee='emacs .'
# Doom Emacs edit
alias dei='~/.emacs.d/bin/doom install'
alias deu='~/.emacs.d/bin/doom upgrade'
alias der='~/.emacs.d/bin/doom refresh'
# SSH
alias sshagent='eval `ssh-agent -s`'
alias rsshkey='ssh-add ~/.ssh/id_ed25519_gitlab'
# Docker commands
alias d='docker'
alias di='docker inspect'
alias dre='docker run -e'
alias da='docker attach'
alias de='docker exec -it'
alias drv='docker run -v'
alias dht='docker history'
alias dr='docker run'
alias drd='docker run -d'
alias dh='docker help'
alias dn='docker new'
alias dpl='docker pull'
alias dls='docker logs'
alias dli='docker login'
alias dlo='docker logout'
alias drm='docker rm'
alias drmi='docker rmi'
alias dp='docker ps'
alias dpa='docker ps -a'
alias dsp='docker stop'
alias dst='docker stats'
alias dstr='docker start'
alias dup='docker update'
alias dimg='docker images'
alias dcu='docker-compose up -d'
alias dcd='docker-compose down'
alias dcstr='docker-compose start'
alias dcstp='docker-compose stop'
alias dai='docker rmi -f $(docker images -q)'
alias dspn='docker system prune' # Will delete all images and container
function mydkc() {
docker run --name "$1" -d "$2"
}
# Systemctl
alias sstp='sudo systemctl stop'
alias sstr='sudo systemctl start'
alias srstr='sudo systemctl restart'
alias sstat='sudo systemctl status'
# Monitor
alias mn='nmon'
# Cool Staff
alias cmtx='cmatrix'
alias sl='sl'
alias jr='sudo journalctl -o json-pretty'
# 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
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
# Path to the bash it configuration
export BASH_IT="/home/kaky-camassa/.bash_it"
# Lock and Load a custom theme file.
# Leave empty to disable theming.
# location /.bash_it/themes/
export BASH_IT_THEME='powerline'
# (Advanced): Change this to the name of your remote repo if you
# cloned bash-it with a remote other than origin such as `bash-it`.
# export BASH_IT_REMOTE='bash-it'
# Your place for hosting Git repos. I use this for private repos.
export GIT_HOSTING='[email protected]'
# Don't check mail when opening terminal.
unset MAILCHECK
# Change this to your console based IRC client of choice.
export IRC_CLIENT='irssi'
# Set this to the command you use for todo.txt-cli
export TODO="t"
# Set this to false to turn off version control status checking within the prompt for all themes
export SCM_CHECK=true
# Set Xterm/screen/Tmux title with only a short hostname.
# Uncomment this (or set SHORT_HOSTNAME to something else),
# Will otherwise fall back on $HOSTNAME.
#export SHORT_HOSTNAME=$(hostname -s)
# Set Xterm/screen/Tmux title with only a short username.
# Uncomment this (or set SHORT_USER to something else),
# Will otherwise fall back on $USER.
#export SHORT_USER=${USER:0:8}
# Set Xterm/screen/Tmux title with shortened command and directory.
# Uncomment this to set.
#export SHORT_TERM_LINE=true
# Set vcprompt executable path for scm advance info in prompt (demula theme)
# https://github.com/djl/vcprompt
#export VCPROMPT_EXECUTABLE=~/.vcprompt/bin/vcprompt
# (Advanced): Uncomment this to make Bash-it reload itself automatically
# after enabling or disabling aliases, plugins, and completions.
# export BASH_IT_AUTOMATIC_RELOAD_AFTER_CONFIG_CHANGE=1
# Uncomment this to make Bash-it create alias reload.
# export BASH_IT_RELOAD_LEGACY=1
# Load Bash It
source "$BASH_IT"/bash_it.sh
export GOROOT=/usr/local/go
export GOPATH=$HOME/code/go
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment