dotfiles/.bashrc
2024-08-21 14:39:04 +02:00

153 lines
5.0 KiB
Bash

# git aliases
alias ga='git add'
alias gaa='git add -A'
alias gb='git branch'
alias gbs='git switch -C'
alias gc='git commit -m'
alias gcl='git clone'
alias gck='git checkout'
alias gd='git diff'
alias gdh='git diff HEAD~1'
alias gf='git fetch'
alias gfa='git fetch --all'
alias gg='git log --graph --all --decorate --color=always --oneline'
alias gi='git init'
alias gl='git log'
alias gm='git merge'
alias gmc='git merge --continue'
alias gp='git push'
alias gpl='git pull'
alias gpt='git push --follow-tags'
alias gr='git reset'
alias gra='git remote add'
alias grb='git rebase'
alias grc='git rebase --continue'
alias grt='git restore'
alias grv='git remote -v'
alias gs='git status'
alias gsd='git switch develop'
alias gsm='git switch master'
alias gsmain='git switch main'
alias gst='git stash'
alias gsta='git stash apply'
alias gsw='git switch'
alias gt='git tag -ma'
alias gitauthor='git ls-files -z | xargs -0n1 git blame -w --line-porcelain | grep -a "^author " | sort -f | uniq -c | sort -n'
alias pcra='pre-commit run --all'
gpb () {
branch=$(git branch --show-current)
git push origin $branch $@
}
create_watermark () {
input_pdf=$1
watermark=$2
new_pdf="${input_pdf::-4}_watermarked.pdf"
# create watermark template
cd ~/Documents/prog/latex/watermark/
sed -i 's/\(\\def\\watermark{\).*}/\1'"${watermark}"'}/g' watermark_template.tex
latexmk -pdf watermark_template.tex > /dev/null
cd -
pdftk $input_pdf multistamp ~/Documents/prog/latex/watermark/watermark_template.pdf output $new_pdf && evince $new_pdf
}
alias lzg='lazygit'
# django
alias loadstatic='./manage.sh collectstatic --noinput'
# perso aliases
alias gcepita='git config user.email "hugo.meens@epita.fr"; git config user.name "Hugo Meens"'
alias gcgrimhilt='git config user.email "grimhilt@users.noreply.github.com"; git config user.name "grimhilt"'
alias gcprolo='git config user.email "hugo.meens@prologin.org"; git config user.name "hugo.meens"'
alias sshusiobe='ssh grimhilt@192.168.1.116 -p 2367'
alias sshusiobecom='ssh grimhilt@usiobe.com -p 2367'
alias nextsync='~/Documents/prog/rust/nextsync/target/debug/nextsync'
alias ns='~/Documents/prog/rust/nextsync/target/debug/nextsync'
# path alias
alias n='nvim'
alias p='cd ~/Documents/prog'
alias ing='cd ~/Documents/ing'
alias cd='z'
# tiger
alias tiger='cd ~/Documents/prog/cpp/tiger'
alias tfixme='grep -r "FIXME: Some code was deleted here."'
alias tdev='nix develop --extra-experimental-features nix-command --extra-experimental-features flakes'
alias cf='clang-format -i'
cfa() {
find -name "*.hh" -exec clang-format -i {} \; -print
find -name "*.cc" -exec clang-format -i {} \; -print
find -name "*.hxx" -exec clang-format -i {} \; -print
}
# c aliases
alias ge='gcc -std=c99 -pedantic -Werror -Wall -Wextra -Wvla -o main'
alias gef='gcc -g -fsanitize=address -std=c99 -Wall -Wextra -Wvla -D_DEFAULT_SOURCE -o main'
alias gec='gcc -g -fsanitize=address -std=c99 -Wall -Wextra -Wvla -o main -lcriterion'
alias vlg='valgrind --tool=memcheck --leak-check=full --show-leak-kinds=all --track-origins=yes'
alias vlgv='valgrind --tool=memcheck --leak-check=full --show-leak-kinds=all --track-origins=yes --verbose'
#
shut() {
if [ "$CURRENT_LAYOUT" = "us" ]; then
echo $(date -u +%Y-%m-%d_%H:%M:%S) "fr" >> ~/.config/sxhkd/switch_layout_log
else
echo $(date -u +%Y-%m-%d_%H:%M:%S) "us" >> ~/.config/sxhkd/switch_layout_log
fi
shutdown -h now
}
# utils aliases
alias count_lines='S=0; for file in $(find -name "*.c" -o -name "*.h" -o -name "*.sh"); do S1=$(wc -l < $file); echo -e $file $S1; S=$(($S1 + $S)); done; echo $S'
alias count_lines='S=0; for file in $(find -name "*.py" -o -name "*.js" -o -name "*.html" -o -name "*.css"); do S1=$(wc -l < $file); echo -e $file $S1; S=$(($S1 + $S)); done; echo $S'
# config
alias xtouch='xinput set-prop 12 327 0 && xinput set-prop 11 333 1'
sboot()
{
xtouch
pkill polybar
MONITOR=eDP-1 polybar -q 2>/dev/null &
MONITOR=DP-3 polybar -q 2>/dev/null &
}
alias sourceb='source ~/.bashrc'
# docker
alias dls='docker ps'
alias dip="docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}'"
alias dockercontainerrm='docker rm -f $(docker ps -aq)'
alias dockervolumerm='docker volume rm -f $(docker volume ls -q)'
# xrandr
alias xepita='xrandr --output eDP-1 --output DP-3 --mode 3840x2160 --same-as eDP-1 --scale 0.69'
alias depita='xrandr --output DP-3 --primary --scale 1 --auto --output eDP-1 --left-of DP-3'
alias xhome='xrandr --output DP-3 --primary --scale 1.3 --auto --output eDP-1 --left-of DP-3'
alias xmono='xrandr --output eDP-1 --primary'
# prompt command
get_branch_name()
{
branch_name=$(git branch --show-current 2>/dev/null)
if [ -n "$branch_name" ]; then
echo -e '(\e[38;5;135m'$branch_name'\e[0m)'
fi
}
PROMPT_COMMAND='PS1_CMD1=$(get_branch_name)'; PS1='[\[\e[92m\]\w\[\e[0m\]] ${PS1_CMD1}\n$? \$ '
# postgres
export PGDATA="$HOME/postgres_data"
export PGHOST="/tmp"
eval "$(zoxide init bash)"
eval "$(direnv hook bash)"