Created
October 16, 2016 19:08
-
-
Save TheBITLINK/0c4021ea5a82835afa3750c0e0ef293b to your computer and use it in GitHub Desktop.
.bashrc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# ~/.bashrc | |
# | |
# If not running interactively, don't do anything | |
[[ $- != *i* ]] && return | |
alias ls='ls --color=auto' | |
PS1='[\u@\h \W]\$ ' | |
# ye olde prompt | |
export PS1=" \[\033[38;5;250m\]$(if [[ -z $i ]] ; then i=$(tput cols) ; while (( i-- > 8 )) ; do echo -n '—' ; done ; echo -n " " ; unset i ; fi)\[\033[38;5;15m\]\A\n[\[$(tput sgr0)\]\[\033[38;5;154m\]\u\[$(tput sgr0)\]\[\033[38;5;15m\]@\h \[$(tput sgr0)\]\[\033[38;5;14m\]\w\[$(tput sgr0)\]\[\033[38;5;15m\]]\\$ \[$(tput sgr0)\]" | |
# git functions | |
# copy/paste from https://github.com/jimeh/git-aware-prompt/blob/master/prompt.sh | |
find_git_branch() { | |
# Based on: http://stackoverflow.com/a/13003854/170413 | |
local branch | |
if branch=$(git rev-parse --abbrev-ref HEAD 2> /dev/null); then | |
if [[ "$branch" == "HEAD" ]]; then | |
branch='detached*' | |
fi | |
git_branch="$branch" | |
else | |
git_branch="" | |
fi | |
} | |
find_git_dirty() { | |
local status=$(git status --porcelain 2> /dev/null) | |
if [[ "$status" != "" ]]; then | |
git_dirty='y' | |
else | |
git_dirty='' | |
fi | |
} | |
# "dynamic" prompt | |
export PROMPT_COMMAND=__prompt_command | |
function __prompt_command() { | |
local EXIT="$?" | |
find_git_branch; | |
find_git_dirty; | |
local RCol='\[\e[0m\]' | |
local Lime='\[\033[38;5;154m\]' | |
local Orange='\[\033[38;5;208m\]' | |
local Cyan='\[\033[38;5;51m\]' | |
local Mag='\[\033[38;5;200m\]' | |
local White='\[\033[38;5;231m\]' | |
local Blue='\[\033[38;5;33m\]' | |
local Yellow='\[\033[38;5;11m\]' | |
local DarkGray='\[\033[38;5;247m\]' | |
# Title | |
PS1="\[\033]0;\u@\H: \W\007\] ${DarkGray}" | |
if [[ -z $i ]]; then | |
i=$(tput cols) | |
while (( i-- > 8 )); do | |
PS1+='—' | |
done; | |
PS1+="${White} \A\n" | |
unset i | |
fi | |
# Store Line 2 in a separate variable | |
local LINE2="" | |
# Username | |
if [ "$(id -u)" != "0" ]; then | |
# Green for users | |
LINE2+="[${Lime}\u${White}@\H ${Cyan}\W${White}" | |
else | |
# Orange for root | |
LINE2+="[${Orange}\u${White}@\H ${Cyan}\W${White}" | |
fi | |
# git branch | |
if [ $git_branch ]; then | |
if [ $git_dirty ]; then | |
LINE2+=" ${Yellow}${git_branch}${White}" | |
else | |
LINE2+=" ${Blue}${git_branch}${White}" | |
fi | |
fi | |
# exit code if not 0 | |
if [ $EXIT != 0 ]; then | |
LINE2+="${Mag} ${EXIT}${White}" | |
fi | |
LINE2+="]" | |
# Newline if LINE2 is 2big | |
local cols=$(tput cols) | |
if [ ${#LINE2} -gt $(($cols+60)) ]; then | |
PS1+="${LINE2}\n" | |
else | |
PS1+=$LINE2 | |
fi | |
PS1+="\\$ ${White}\[$(tput sgr0)\]" | |
} | |
# Fixes the WiFi on my laptop | |
# (don't ask me anything, it just works) | |
alias fixwifi="sudo modprobe -r rtl8723ae && sudo modprobe rtl8723ae" | |
# Downloads a video as mp3 | |
alias ytmp3="youtube-dl -f bestaudio -x --audio-format mp3 --default-search ytsearch" | |
# Downloads a video as ogg | |
alias ytogg="youtube-dl -f bestaudio -x --audio-format vorbis --default-search ytsearch" | |
# The colorrrrrrssssss | |
export TERM=xterm-256color | |
# Random Password | |
gen_pass(){ | |
if [ -z "$1" ]; then | |
length=100 | |
else | |
length="$1" | |
fi | |
echo $(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-$length};echo;) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment