Compare commits

...

31 Commits

Author SHA1 Message Date
fe6642402b Merge branch 'master' of https://github.com/xlogerais/config-bash 2023-11-02 15:19:40 +01:00
a50a9359ad feat(aliases): désactivation de l'alias vim pointant vers lvim 2023-11-02 15:14:12 +01:00
2fe787a370 feat(rc): Ajout d'une fonction de selection des branches git avec fzf 2023-11-02 15:12:25 +01:00
d4c31d32d9 feat(aliases): Modification des aliases pour git 2023-11-02 15:11:48 +01:00
5aad94e71b feat(aliases): Ajout alias pour lazygit 2023-11-02 15:09:54 +01:00
33c51aa0a6 feat(aliases): Ajout alias pour lsd 2023-11-02 15:09:28 +01:00
7836bb1761 feat: Ajout alias pour gopass 2023-08-31 13:16:03 +00:00
6aec2fe66f feat(profile): Remove xdg config
Remove xdg specific config that break some apps (firefox, chromium,...)
on Ubuntu 22.04+
2023-08-27 18:16:52 +02:00
07756ac711 feat(rc): Add support for broot 2023-08-27 16:35:35 +02:00
8d5f8950db feat(aliases): Add condition for fun/starwars 2023-08-27 16:33:47 +02:00
c04d8876a3 feat(rc): Improve powerline prompt 2023-08-27 16:31:17 +02:00
c8442dabc0 feat(aliases): Delete obsolete aliases for mutt 2023-08-27 16:30:13 +02:00
7176baf0bc Merge branch 'master' of https://gogs.logerais.com/xavier/config-bash 2023-04-03 10:46:33 +02:00
18ce1f6d7e feat: Support completion poetry 2023-04-03 10:45:44 +02:00
058c4f473c feat: support lvim/nvim pour les alias vim 2023-04-03 10:45:05 +02:00
1e20a91e84 feat: Ajout support broot 2023-04-03 10:43:57 +02:00
0e58fa99f4 feat: refacto aliases/completion kubectl, helm, stern 2023-04-03 10:38:42 +02:00
ece4edeb18 feat: Improve powerline support 2022-12-13 12:08:41 +01:00
2cae0f7d03 feat: improve powerline support 2022-12-13 12:04:08 +01:00
217eb70b58 update 2022-09-22 18:32:56 +02:00
e2920cab80 feat: Add alias for lsd 2022-05-21 15:04:45 +02:00
2ecb4c53fa feat: improve config for powerline, mcfly and (n)vim 2022-05-21 02:41:24 +02:00
c58348a679 Merge branch 'master' of github.com:xlogerais/config-bash 2021-05-02 21:45:19 +02:00
ba9ad2784c feat: update rc.d/prompt 2021-05-02 21:44:06 +02:00
a6948a056a fix: move asdf and direnv from profile.d back to rc.d 2021-05-02 21:15:29 +02:00
554f8a4db8 feat: add direnv support 2021-05-02 00:26:45 +02:00
a67d6448e9 feat: move asdf to profile.d 2021-05-02 00:26:28 +02:00
616bbba449 feat: remove unnecessary exec flag on rc.d files 2021-04-23 12:58:26 +02:00
b1b8a4b3f9 feat: add support for some kubernetes tools 2021-04-23 12:57:08 +02:00
5904b2693a feat: Add asdf 2021-04-03 19:36:17 +02:00
cc25e775d3 Add config for kubectl and krew 2020-11-18 12:44:46 +01:00
28 changed files with 225 additions and 118 deletions

View File

@ -3,4 +3,7 @@
# Fun # Fun
alias matrix='tr -c "[:digit:]" " " < /dev/urandom | dd cbs=$COLUMNS conv=unblock | GREP_COLOR="1;32" grep --color "[^ ]"' alias matrix='tr -c "[:digit:]" " " < /dev/urandom | dd cbs=$COLUMNS conv=unblock | GREP_COLOR="1;32" grep --color "[^ ]"'
alias starwars='beep -l 350 -f 392 -D 100 --new -l 350 -f 392 -D 100 --new -l 350 -f 392 -D 100 --new -l 250 -f 311.1 -D 100 --new -l 25 -f 466.2 -D 100 --new -l 350 -f 392 -D 100 --new -l 250 -f 311.1 -D 100 --new -l 25 -f 466.2 -D 100 --new -l 700 -f 392 -D 100 --new -l 350 -f 587.32 -D 100 --new -l 350 -f 587.32 -D 100 --new -l 350 -f 587.32 -D 100 --new -l 250 -f 622.26 -D 100 --new -l 25 -f 466.2 -D 100 --new -l 350 -f 369.99 -D 100 --new -l 250 -f 311.1 -D 100 --new -l 25 -f 466.2 -D 100 --new -l 700 -f 392 -D 100 --new -l 350 -f 784 -D 100 --new -l 250 -f 392 -D 100 --new -l 25 -f 392 -D 100 --new -l 350 -f 784 -D 100 --new -l 250 -f 739.98 -D 100 --new -l 25 -f 698.46 -D 100 --new -l 25 -f 659.26 -D 100 --new -l 25 -f 622.26 -D 100 --new -l 50 -f 659.26 -D 400 --new -l 25 -f 415.3 -D 200 --new -l 350 -f 554.36 -D 100 --new -l 250 -f 523.25 -D 100 --new -l 25 -f 493.88 -D 100 --new -l 25 -f 466.16 -D 100 --new -l 25 -f 440 -D 100 --new -l 50 -f 466.16 -D 400 --new -l 25 -f 311.13 -D 200 --new -l 350 -f 369.99 -D 100 --new -l 250 -f 311.13 -D 100 --new -l 25 -f 392 -D 100 --new -l 350 -f 466.16 -D 100 --new -l 250 -f 392 -D 100 --new -l 25 -f 466.16 -D 100 --new -l 700 -f 587.32 -D 100 --new -l 350 -f 784 -D 100 --new -l 250 -f 392 -D 100 --new -l 25 -f 392 -D 100 --new -l 350 -f 784 -D 100 --new -l 250 -f 739.98 -D 100 --new -l 25 -f 698.46 -D 100 --new -l 25 -f 659.26 -D 100 --new -l 25 -f 622.26 -D 100 --new -l 50 -f 659.26 -D 400 --new -l 25 -f 415.3 -D 200 --new -l 350 -f 554.36 -D 100 --new -l 250 -f 523.25 -D 100 --new -l 25 -f 493.88 -D 100 --new -l 25 -f 466.16 -D 100 --new -l 25 -f 440 -D 100 --new -l 50 -f 466.16 -D 400 --new -l 25 -f 311.13 -D 200 --new -l 350 -f 392 -D 100 --new -l 250 -f 311.13 -D 100 --new -l 25 -f 466.16 -D 100 --new -l 300 -f 392.00 -D 150 --new -l 250 -f 311.13 -D 100 --new -l 25 -f 466.16 -D 100 --new -l 700 -f 392' if (command -v beep &> /dev/null)
then
alias starwars='beep -l 350 -f 392 -D 100 --new -l 350 -f 392 -D 100 --new -l 350 -f 392 -D 100 --new -l 250 -f 311.1 -D 100 --new -l 25 -f 466.2 -D 100 --new -l 350 -f 392 -D 100 --new -l 250 -f 311.1 -D 100 --new -l 25 -f 466.2 -D 100 --new -l 700 -f 392 -D 100 --new -l 350 -f 587.32 -D 100 --new -l 350 -f 587.32 -D 100 --new -l 350 -f 587.32 -D 100 --new -l 250 -f 622.26 -D 100 --new -l 25 -f 466.2 -D 100 --new -l 350 -f 369.99 -D 100 --new -l 250 -f 311.1 -D 100 --new -l 25 -f 466.2 -D 100 --new -l 700 -f 392 -D 100 --new -l 350 -f 784 -D 100 --new -l 250 -f 392 -D 100 --new -l 25 -f 392 -D 100 --new -l 350 -f 784 -D 100 --new -l 250 -f 739.98 -D 100 --new -l 25 -f 698.46 -D 100 --new -l 25 -f 659.26 -D 100 --new -l 25 -f 622.26 -D 100 --new -l 50 -f 659.26 -D 400 --new -l 25 -f 415.3 -D 200 --new -l 350 -f 554.36 -D 100 --new -l 250 -f 523.25 -D 100 --new -l 25 -f 493.88 -D 100 --new -l 25 -f 466.16 -D 100 --new -l 25 -f 440 -D 100 --new -l 50 -f 466.16 -D 400 --new -l 25 -f 311.13 -D 200 --new -l 350 -f 369.99 -D 100 --new -l 250 -f 311.13 -D 100 --new -l 25 -f 392 -D 100 --new -l 350 -f 466.16 -D 100 --new -l 250 -f 392 -D 100 --new -l 25 -f 466.16 -D 100 --new -l 700 -f 587.32 -D 100 --new -l 350 -f 784 -D 100 --new -l 250 -f 392 -D 100 --new -l 25 -f 392 -D 100 --new -l 350 -f 784 -D 100 --new -l 250 -f 739.98 -D 100 --new -l 25 -f 698.46 -D 100 --new -l 25 -f 659.26 -D 100 --new -l 25 -f 622.26 -D 100 --new -l 50 -f 659.26 -D 400 --new -l 25 -f 415.3 -D 200 --new -l 350 -f 554.36 -D 100 --new -l 250 -f 523.25 -D 100 --new -l 25 -f 493.88 -D 100 --new -l 25 -f 466.16 -D 100 --new -l 25 -f 440 -D 100 --new -l 50 -f 466.16 -D 400 --new -l 25 -f 311.13 -D 200 --new -l 350 -f 392 -D 100 --new -l 250 -f 311.13 -D 100 --new -l 25 -f 466.16 -D 100 --new -l 300 -f 392.00 -D 150 --new -l 250 -f 311.13 -D 100 --new -l 25 -f 466.16 -D 100 --new -l 700 -f 392'
fi

View File

@ -1,29 +1,29 @@
#!/bin/bash #!/bin/bash
# Git # Git
if [ -x /usr/bin/git ] if [ -x /usr/bin/git ]; then
then alias gs='git status'
alias gs='git status' alias ga='git add'
alias ga='git add' alias gc='git commit'
alias gc='git commit' alias gca='git commit -a'
alias gca='git commit -a' alias gf='git fetch'
alias gu='git pull' alias gu='git pull'
alias gp='git pull && git push' alias gp='git pull && git push'
alias gd='git diff' alias gd='git diff'
alias gdc='git diff --cached' alias gdc='git diff --cached'
alias gb='git branch' alias gb='git branch'
alias gco='git checkout' alias gco='git checkout'
alias gw='git whatchanged' alias gw='git whatchanged'
alias gl='git log --graph' alias gl='git log --graph'
alias gstatus='git status' alias gstatus='git status'
alias glog='git log' alias glog='git log'
alias glast='git last' alias glast='git last'
alias gshow='git show' alias gshow='git show'
alias gdiff='git diff' alias gdiff='git diff'
alias gcommit='git commit' alias gcommit='git commit'
alias gcommitall='git commit --all' alias gcommitall='git commit --all'
alias greset='git reset' alias greset='git reset'
alias gpull='git pull' alias gpull='git pull'
alias gpush='git pull && git push' alias gpush='git pull && git push'
fi fi

6
aliases.d/gopass Normal file
View File

@ -0,0 +1,6 @@
#!/bin/bash
if (command -v 'gopass' && ! command -v pass ) &> /dev/null
then
alias pass='gopass'
fi

14
aliases.d/kubectl Normal file
View File

@ -0,0 +1,14 @@
#!/bin/bash
if (command -v kubectl &> /dev/null)
then
# create a quick alias
alias k=kubectl
alias ks="kubectl --namespace kube-system"
# add completion for the alias as well
complete -o default -F __start_kubectl k
complete -o default -F __start_kubectl ks
fi

5
aliases.d/lazygit Normal file
View File

@ -0,0 +1,5 @@
# Lazygit
if ( which lazygit &> /dev/null )
then
alias lg='lazygit'
fi

5
aliases.d/lsd Normal file
View File

@ -0,0 +1,5 @@
# LSD
if ( command -v lsd &> /dev/null )
then
alias ls='lsd'
fi

View File

@ -1,9 +0,0 @@
#!/bin/bash
if (which mutt &> /dev/null); then
if [ "$TERM" = "rxvt-unicode" ]; then
alias mutt="TERM=rxvt-unicode-256color SOCKS_SERVER=10.181.176.208:1080 socksify mutt"
else
alias mutt="SOCKS_SERVER=10.181.176.208:1080 socksify mutt"
fi
fi

7
aliases.d/nvim Normal file
View File

@ -0,0 +1,7 @@
#!/bin/bash
# Vim Editor
if [ -x ~/AppImages/nvim.appimage ]
then
alias nvim='~/AppImages/nvim.appimage'
fi

View File

@ -1,9 +1,20 @@
#!/bin/bash #!/bin/bash
# Vim Editor # Vim Editor
if [ -x /usr/bin/vim ] if (command -v nvim &> /dev/null)
then then
alias vi='vim -p' alias vim=nvim
alias view='vim -R'
alias vless='vim -u /usr/share/vim/vim74/macros/less.vim -c "colorscheme mustangpp"'
fi fi
# if (command -v lvim &>/dev/null); then
# alias vim=lvim
# elif (command -v nvim &>/dev/null); then
# alias vim=nvim
# fi
# if [ -x /usr/bin/vim ]
# then
# alias vi='vim -p'
# alias view='vim -R'
# alias vless='vim -u /usr/share/vim/vim*/macros/less.vim'
# fi

6
completion.d/helm Normal file
View File

@ -0,0 +1,6 @@
#!/bin/bash
if (command -v helm &> /dev/null)
then
source <( helm completion bash )
fi

View File

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
if ( which kubectl ) &> /dev/null if (command -v kubectl &> /dev/null)
then then
source <(kubectl completion bash) source <(kubectl completion bash)
fi fi

6
completion.d/poetry Normal file
View File

@ -0,0 +1,6 @@
#!/bin/bash
if ( command -v poetry &> /dev/null )
then
source <(poetry completions bash)
fi

6
completion.d/stern Normal file
View File

@ -0,0 +1,6 @@
#!/bin/bash
if (command -v stern &> /dev/null)
then
source <(stern --completion bash)
fi

View File

@ -1,8 +1,8 @@
#!/bin/bash #!/bin/bash
# Defined prefered applications # Defined prefered applications
export TERMINAL=urxvtc export TERMINAL=kitty
export PAGER=less export PAGER=less
export EDITOR=vim export EDITOR=nvim
export BROWSER=surf export BROWSER=firefox

View File

@ -1,4 +0,0 @@
#!/bin/bash
# Defined prefered applications
export XDG_RUNTIME_DIR=$HOME/.cache

12
rc.d/asdf Normal file
View File

@ -0,0 +1,12 @@
#!/bin/bash
if [ -f ~/.asdf/asdf.sh ]
then
# activate asdf
source ~/.asdf/asdf.sh
# activate completion
source ~/.asdf/completions/asdf.bash
fi

23
rc.d/broot Normal file
View File

@ -0,0 +1,23 @@
#!/bin/bash
if (command -v broot &>/dev/null); then
# This script was automatically generated by the broot program
# More information can be found in https://github.com/Canop/broot
# This function starts broot and executes the command
# it produces, if any.
# It's needed because some shell commands, like `cd`,
# have no useful effect if executed in a subshell.
function br {
local cmd cmd_file code
cmd_file=$(mktemp)
if broot --outcmd "$cmd_file" "$@"; then
cmd=$(<"$cmd_file")
rm -f "$cmd_file"
eval "$cmd"
else
code=$?
rm -f "$cmd_file"
return "$code"
fi
}
fi

0
rc.d/cgroups Executable file → Normal file
View File

24
rc.d/direnv Normal file
View File

@ -0,0 +1,24 @@
#!/bin/bash
if ( which asdf &> /dev/null )
then
if ( asdf which direnv &> /dev/null )
then
# Hook direnv into your shell.
eval "$(asdf exec direnv hook bash)"
# A shortcut for asdf managed direnv.
direnv() { asdf exec direnv "$@"; }
return
fi
elif ( which direnv &> /dev/null )
then
# Hook direnv into your shell.
eval "$(direnv hook bash)"
fi

5
rc.d/git Normal file
View File

@ -0,0 +1,5 @@
#!/bin/bash
if (command -v git && command -v fzf) &>/dev/null; then
function gsb { git checkout "$(git branch --all | fzf | tr -d '[:space:]')"; }
fi

6
rc.d/krew Normal file
View File

@ -0,0 +1,6 @@
#!/bin/bash
if [ -d ~/.krew/bin ]
then
export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"
fi

10
rc.d/lsd Normal file
View File

@ -0,0 +1,10 @@
#!/bin/bash
if (which lsd &> /dev/null)
then
# create a aliases
alias ls='lsd'
alias lt='lsd --tree'
fi

9
rc.d/mcfly Normal file
View File

@ -0,0 +1,9 @@
#!/bin/bash
if (which mcfly &> /dev/null)
then
export MCFLY_INTERFACE_VIEW=BOTTOM
export MCFLY_RESULTS=25
export MCFLY_RESULTS_SORT=LAST_RUN
eval "$(mcfly init bash)"
fi

View File

@ -1,60 +0,0 @@
#!/bin/bash
if ( ! which mcfly &> /dev/null ); then return; fi
# Avoid loading this file more than once
if [[ "$__MCFLY_LOADED" == "loaded" ]]; then
return 0
fi
__MCFLY_LOADED="loaded"
export MCFLY_SESSION_ID=$(cat /dev/urandom | env LC_ALL=C tr -dc 'a-zA-Z0-9' | fold -w 24 | head -n 1)
export MCFLY_HISTORY=$(mktemp -t mcfly.XXXX)
export HISTFILE="${HISTFILE:-$HOME/.bash_history}"
if [[ -f "$HISTFILE" ]];
then
tail -n100 "${HISTFILE}" >| ${MCFLY_HISTORY}
else
printf "Welcome to McFly\n" >| ${MCFLY_HISTORY}
fi
# Ignore commands with a leading space
#export HISTCONTROL="ignorespace"
# Append new history items to .bash_history
shopt -s histappend
# Setup a function to be used by $PROMPT_COMMAND.
function mcfly_prompt_command {
local exit_code=$? # Record exit status of previous command.
history -a ${MCFLY_HISTORY} # Append history to $MCFLY_HISTORY.
# Run mcfly with the saved code. It will:
# * append commands to $HISTFILE, (~/.bash_history by default)
# for backwards compatibility and to load in new terminal sessions;
# * find the text of the last command in $MCFLY_HISTORY and save it to the database.
mcfly add --exit ${exit_code} --append-to-histfile
# Clear the in-memory history and reload it from $MCFLY_HISTORY
# (to remove instances of '#mcfly: ' from the local session history).
history -cr ${MCFLY_HISTORY}
return ${exit_code} # Restore the original exit code by returning it.
}
# Set $PROMPT_COMMAND run mcfly_prompt_command and then any existing $PROMPT_COMMAND.
PROMPT_COMMAND="mcfly_prompt_command;$PROMPT_COMMAND"
# If this is an interactive shell, take ownership of ctrl-r.
# The logic here is:
# 1. Jump to the beginning of the edit buffer, add 'mcfly: ', and comment out the current line. We comment out the line
# to ensure that all possible special characters, including backticks, are ignored. This commented out line will
# end up as the most recent entry in the $MCFLY_HISTORY file.
# 2. Type "mcfly search" and then run the command. McFly will pull the last line from the $MCFLY_HISTORY file,
# which should be the commented-out search from step #1. It will then remove that line from the history file and
# render the search UI pre-filled with it.
if [[ $- =~ .*i.* ]]; then
if set -o | grep "vi " | grep -q on; then
bind "'\C-r': '\e0i#mcfly: \e\C-j mcfly search\C-j'"
else
bind "'\C-r': '\C-amcfly: \e# mcfly search\C-j'"
fi
fi

46
rc.d/prompt Executable file → Normal file
View File

@ -2,19 +2,41 @@
# Customize the prompt # Customize the prompt
if (which powerline-go &> /dev/null); then POWERLINE_LOCATION=$(command -v powerline-go || command -v powerline) &>/dev/null
function _update_ps1() { POWERLINE=$(basename "$POWERLINE_LOCATION")
PS1="$(powerline-go -error $?)"
} if [ "${POWERLINE}" = "powerline-go" ]; then
if [ "$TERM" != "linux" ] ; then
export PROMPT_COMMAND="_update_ps1; $PROMPT_COMMAND" echo "Using $POWERLINE"
fi
function _update_ps1() {
PS1=$($POWERLINE -jobs "$(jobs -p | wc -l)" -error $? -modules "ssh,host,wsl,user,cwd,direnv,venv,perms,git,jobs,exit,root" -modules-right "docker,docker-context,kube,terraform-workspace,termtitle" -newline)
}
if [ "$TERM" != "linux" ]; then PROMPT_COMMAND="$PROMPT_COMMAND; _update_ps1"; fi
elif [ "${POWERLINE}" = "powerline" ]; then
echo "Using $POWERLINE"
# Run powerline daemon
powerline-daemon -q
# Cache powerline location
# To locate this directory, run: pip show powerline-status
export POWERLINE_LOCATION="/home/xavier/.local/lib/python3.10//site-packages/powerline" # Set up powerline environment
export POWERLINE_CONFIG_COMMAND=powerline-config
export POWERLINE_BASH_CONTINUATION=1
export POWERLINE_BASH_SELECT=1# Invoke binding script
. "$POWERLINE_LOCATION/bindings/bash/powerline.sh"
else else
if [ "$UID" -eq 0 ]; then
export PS1='\[\e[01;31m\]\u@\h\[\e[01;34m\] \w \$\[\e[0m\] ' if [ "$UID" -eq 0 ]; then
else export PS1='\[\e[01;31m\]\u@\h\[\e[01;34m\] \w \$\[\e[0m\] '
export PS1='\[\e[01;32m\]\u@\h\[\e[01;34m\] \w \$\[\e[0m\] ' else
fi export PS1='\[\e[01;32m\]\u@\h\[\e[01;34m\] \w \$\[\e[0m\] '
fi
fi fi
# Limit the path to 3 levels # Limit the path to 3 levels

0
rc.d/screen Executable file → Normal file
View File

0
rc.d/tmux Executable file → Normal file
View File

0
rc.d/urxvt Executable file → Normal file
View File