add bash & git

Signed-off-by: Frank Villaro-Dixon <frank@villaro-dixon.eu>
This commit is contained in:
Frank Villaro-Dixon 2024-10-04 22:05:52 +02:00
parent 4b17ef07a4
commit ab5435961b
5 changed files with 349 additions and 0 deletions

278
files/bashrc Normal file
View file

@ -0,0 +1,278 @@
shopt -s checkwinsize #Pour pas s'écrire dessus
shopt -s histappend
shopt -s autocd #No more cd xx
shopt -s cdspell #drain bramage
shopt -s dirspell
##shopt -s autocd #Like zsh
PROMPT_COMMAND='history -a'
set -o vi
###############
#### ALIAS ####
###############
# {{{
alias k='kubectl'
alias klks='kubectl -n kube-system'
alias change_yubikey='gpg-connect-agent "scd serialno" "learn --force" /bye'
alias dockre='docker'
alias dokcer='docker'
alias ..='cd ..'
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias vm='mv -i'
alias df='dfc'
alias free='freec'
alias shred='shred -n 35 -z -u -v -f'
if [ "$TERM" != "dumb" ]; then
eval "`dircolors -b`"
alias ls='ls --color=auto -N'
fi
alias la='ls -lahN'
alias sudp='sudo' #fuck tpyos :p
alias sudpo='sudo'
alias grep='grep --color'
alias bim='vim'
alias vi='vim'
alias VIM='vim'
alias ivm='vim'
alias vmi='vim'
alias makew='make'
alias mkae='make'
alias amke='make'
alias mak='make'
alias amek='make'
alias shm='cd /dev/shm'
alias arc='tig'
alias ack='rg'
# }}}
###############
## FONCTIONS ##
###############
# {{{
function cd #{{{
{
MY_LAST=`pwd`
if [ $# -eq 0 ]; then
builtin cd ~ && cons_set > /dev/null && ls
else
builtin cd "$*" && cons_set > /dev/null && ls
fi
}
#}}}
function back {
cd $MY_LAST
}
function mkcd #{{{
{
mkdir -p "$@"
cd "$@"
}
# }}}
#CONS(OLE) function, a pretty useful functions that keeps track of
# the lasts whereabouts (in terms of folders) of the terminal
CONS_ROOT_DIRECTORY=/dev/shm/cons_$USER
function cons
{
if [ ! -d $CONS_ROOT_DIRECTORY ]; then
mkdir $CONS_ROOT_DIRECTORY
fi;
if [ $# -eq 0 ]; then
for f in $CONS_ROOT_DIRECTORY/*; do
echo -e "`echo $f|rev|cut -d/ -f1|rev` >>\n\t`cat $f`"
#XXX basename
done
elif [ $# -eq 1 ]; then
if [ -e $CONS_ROOT_DIRECTORY/$1 ]; then
cd $(cat $CONS_ROOT_DIRECTORY/$1)
else
echo $1 does not exist
fi;
fi;
}
function cons_set
{
TTY=$(tty)
if [ ! -d $CONS_ROOT_DIRECTORY ]; then
mkdir $CONS_ROOT_DIRECTORY
fi;
TTYNO=`echo $TTY | cut -d/ -f 4`
pwd > $CONS_ROOT_DIRECTORY/$TTYNO
}
###############
### EXPORTS ###
###############
# {{{
export EDITOR="vim"
export HISTCONTROL=erasedups
export HISTSIZE=99999999
HISTTIMEFORMAT="%d/%m/%y %T "
# }}}
# vim: set filetype=sh
# Reset
Color_Off="\[\033[0m\]" # Text Reset
# Regular Colors
Black="\[\033[0;30m\]" # Black
Red="\[\033[0;31m\]" # Red
Green="\[\033[0;32m\]" # Green
Yellow="\[\033[0;33m\]" # Yellow
Blue="\[\033[0;34m\]" # Blue
Purple="\[\033[0;35m\]" # Purple
Cyan="\[\033[0;36m\]" # Cyan
White="\[\033[0;37m\]" # White
# Bold
BBlack="\[\033[1;30m\]" # Black
BRed="\[\033[1;31m\]" # Red
BGreen="\[\033[1;32m\]" # Green
BYellow="\[\033[1;33m\]" # Yellow
BBlue="\[\033[1;34m\]" # Blue
BPurple="\[\033[1;35m\]" # Purple
BCyan="\[\033[1;36m\]" # Cyan
BWhite="\[\033[1;37m\]" # White
# Underline
UBlack="\[\033[4;30m\]" # Black
URed="\[\033[4;31m\]" # Red
UGreen="\[\033[4;32m\]" # Green
UYellow="\[\033[4;33m\]" # Yellow
UBlue="\[\033[4;34m\]" # Blue
UPurple="\[\033[4;35m\]" # Purple
UCyan="\[\033[4;36m\]" # Cyan
UWhite="\[\033[4;37m\]" # White
# Background
On_Black="\[\033[40m\]" # Black
On_Red="\[\033[41m\]" # Red
On_Green="\[\033[42m\]" # Green
On_Yellow="\[\033[43m\]" # Yellow
On_Blue="\[\033[44m\]" # Blue
On_Purple="\[\033[45m\]" # Purple
On_Cyan="\[\033[46m\]" # Cyan
On_White="\[\033[47m\]" # White
# High Intensty
IBlack="\[\033[0;90m\]" # Black
IRed="\[\033[0;91m\]" # Red
IGreen="\[\033[0;92m\]" # Green
IYellow="\[\033[0;93m\]" # Yellow
IBlue="\[\033[0;94m\]" # Blue
IPurple="\[\033[0;95m\]" # Purple
ICyan="\[\033[0;96m\]" # Cyan
IWhite="\[\033[0;97m\]" # White
# Bold High Intensty
BIBlack="\[\033[1;90m\]" # Black
BIRed="\[\033[1;91m\]" # Red
BIGreen="\[\033[1;92m\]" # Green
BIYellow="\[\033[1;93m\]" # Yellow
BIBlue="\[\033[1;94m\]" # Blue
BIPurple="\[\033[1;95m\]" # Purple
BICyan="\[\033[1;96m\]" # Cyan
BIWhite="\[\033[1;97m\]" # White
# High Intensty backgrounds
On_IBlack="\[\033[0;100m\]" # Black
On_IRed="\[\033[0;101m\]" # Red
On_IGreen="\[\033[0;102m\]" # Green
On_IYellow="\[\033[0;103m\]" # Yellow
On_IBlue="\[\033[0;104m\]" # Blue
On_IPurple="\[\033[10;95m\]" # Purple
On_ICyan="\[\033[0;106m\]" # Cyan
On_IWhite="\[\033[0;107m\]" # White
# Various variables you might want for your PS1 prompt instead
Time12h="\T"
Time12a="\@"
PathShort="\w"
PathFull="\W"
NewLine="\n"
Jobs="\j"
__git_ps1 ()
{
local b="$(git symbolic-ref HEAD 2>/dev/null)";
if [ -n "$b" ]; then
printf " (%s)" "${b##refs/heads/}";
fi
}
IntroCol=$BIPurple;
PROMPT_COMMAND=__prompt_command
__prompt_command() {
local EXIT="$?"
PS1="$On_Blue(\h)$Color_Off"
if [ $EXIT -eq 0 ]; then
PS1+="✔️"
else
PS1+="❌"
fi
if [ -n "$VIRTUAL_ENV" ]; then
PS1+="(🧙)"
fi
PS1+=" "
PS1+="$IntroCol$Time12h$Color_Off"
git branch &>/dev/null
if [ $? -eq 0 ]; then #In repo
git status | grep 'nothing to commit' >/dev/null 2>&1
if [ $? -eq 0 ]; then
PS1+="$Green"$(__git_ps1 " (%s)")
else
PS1+="$IRed"$(__git_ps1 " {%s}")
fi
PS1+="$BYellow$PathShort$Color_Off"
else
PS1+=" $Yellow$PathShort$Color_Off\$ "
fi
if [[ "$KUBECONFIG" =~ (.*pikprod.*|.*rapace.*) ]]; then
PS1+="${URed}PIKPROD !!${Color_Off}"
fi
PS1+="\n"
}

41
files/gitconfig Normal file
View file

@ -0,0 +1,41 @@
[user]
name = Frank Villaro-Dixon
email = frank@villaro-dixon.eu
[color]
branch = auto
diff = auto
interactive = auto
status = auto
ui = auto
[alias]
st = status
ci = commit -s
commti = commit
co = checkout
br = branch
pu = push
psuh = push
puhs = push
psh = push
plul = pull
dad = add
undo-commit = reset --soft HEAD^
tag = tag -s
ap = add --patch
[core]
editor = vim
excludesfile = ~/.gitignore
hooksPath = .githooks
abbrev = 12
[merge]
tool = vimdiff
[push]
default = current
[init]
defaultBranch = main

15
tasks/bash.yml Normal file
View file

@ -0,0 +1,15 @@
- name: Copy bashrc
copy:
src: files/bashrc
dest: /root/.bashrc
owner: root
group: root
mode: 0644
- name: set .bash_profile with var
copy:
content: '[[ -f ~/.bashrc ]] && . ~/.bashrc'
dest: /root/.bash_profile
owner: root
group: root
mode: 0644

13
tasks/git.yml Normal file
View file

@ -0,0 +1,13 @@
- name: Install git
ansible.builtin.package:
name: git
state: present
- name: Copy .gitconfig
copy:
src: files/gitconfig
dest: /root/.gitconfig
owner: root
group: root
mode: 0644

View file

@ -1,3 +1,4 @@
- import_tasks: bash.yml
- import_tasks: journald.yml
- import_tasks: ntp.yml
- import_tasks: ssh.yml
@ -5,3 +6,4 @@
- import_tasks: motd.yml
- import_tasks: setup_backup.yml
- import_tasks: pkgs.yml
- import_tasks: git.yml