Compare commits
38 Commits
2140f57862
...
master
Author | SHA1 | Date | |
---|---|---|---|
2aaf279c9e | |||
5b0012ffc1 | |||
af4fb0e5fa | |||
8fc95d8e90 | |||
a5dd0be77c | |||
981430eef1 | |||
c7be86ecb6 | |||
611bab8f2f | |||
333a7d8b46 | |||
c53e964ce9 | |||
5cb8b5dfaf | |||
08916f80b6 | |||
9324547f92 | |||
1c34023066 | |||
cd341b7d80 | |||
af5d43fb36 | |||
ddd9509d74 | |||
30597e31ed | |||
ebb0139dbe | |||
3759b1b0ac | |||
5f0ab15c42 | |||
9e5fcc649e | |||
5d71c2aa96 | |||
af4807ed97 | |||
f41e1c2411 | |||
c2c0a11402 | |||
268ad94470 | |||
a6905b9489 | |||
84ffaf33d2 | |||
ce15f00b6f | |||
cb323ec6c0 | |||
0c749a5fd0 | |||
1338369be7 | |||
9535c409e7 | |||
a5671801de | |||
df6de3cdbb | |||
f651195b22 | |||
640df9986c |
6
.gitmodules
vendored
Normal file
6
.gitmodules
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
[submodule "3rd-party/z"]
|
||||
path = 3rd-party/z
|
||||
url = https://github.com/rupa/z.git
|
||||
[submodule "3rd-party/complete-alias"]
|
||||
path = 3rd-party/complete-alias
|
||||
url = https://github.com/cykerway/complete-alias.git
|
1
3rd-party/complete-alias
vendored
Submodule
1
3rd-party/complete-alias
vendored
Submodule
Submodule 3rd-party/complete-alias added at 7f2555c2fe
44
_helpers.bash
Normal file
44
_helpers.bash
Normal file
@ -0,0 +1,44 @@
|
||||
#!/bin/bash
|
||||
|
||||
function basedir() {
|
||||
(cd "$(dirname \"$-2\")" && pwd)
|
||||
}
|
||||
|
||||
function _source_file_if_exists() {
|
||||
if [ -r "$1" ]; then
|
||||
test -n "$DEBUG_BASHRC" && echo "-- Sourcing file $1"
|
||||
source "$1"
|
||||
fi
|
||||
}
|
||||
|
||||
function _source_dir_files() {
|
||||
if [ -d "$1" ]; then
|
||||
test -n "$DEBUG_BASHRC" && echo "-- Sourcing files in directory $1"
|
||||
|
||||
# Safe loops for empty dirs
|
||||
shopt -s nullglob
|
||||
|
||||
for file in "$1"/*; do
|
||||
if [ -e "$file" ]; then
|
||||
test -n "$DEBUG_BASHRC" && echo " * sourcing file $file"
|
||||
source "$file"
|
||||
fi
|
||||
done
|
||||
|
||||
# Restore option nullglob to normal
|
||||
shopt -u nullglob
|
||||
fi
|
||||
}
|
||||
|
||||
# Source : https://superuser.com/questions/39751/add-directory-to-path-if-its-not-already-there
|
||||
_path_add() {
|
||||
if [ -d "$1" ] && [[ ":$PATH:" != *":$1:"* ]]; then
|
||||
PATH="${PATH:+"$PATH:"}$1"
|
||||
fi
|
||||
}
|
||||
|
||||
_prompt_command_add() {
|
||||
if [ -n "$1" ] && [[ ":$PROMPT_COMMAND:" != *":$1:"* ]]; then
|
||||
PROMPT_COMMAND="${PROMPT_COMMAND:+"$PROMPT_COMMAND;"}$1"
|
||||
fi
|
||||
}
|
5
aliases.d/bat
Normal file
5
aliases.d/bat
Normal file
@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
if (command -v bat &>/dev/null); then
|
||||
alias cat=bat
|
||||
fi
|
11
aliases.d/cd
11
aliases.d/cd
@ -1,6 +1,5 @@
|
||||
alias cdrepo='cd ~/repositories/'
|
||||
alias cddns='cd ~/repositories/dns && git pull'
|
||||
alias cdfai='cd ~/repositories/fai && git pull'
|
||||
alias cdpuppet='cd ~/repositories/puppet && git pull'
|
||||
alias cdhiera='cd ~/repositories/hiera && git pull'
|
||||
alias cdshinken='cd ~/repositories/shinken && git pull'
|
||||
alias cdrepo='cd ~/Repositories/'
|
||||
alias cdgitlab='cd ~/Repositories/Gitlab'
|
||||
alias cdgithub='cd ~/Repositories/Github'
|
||||
alias cdgl=cdgitlab
|
||||
alias cdgh=cdgithub
|
||||
|
@ -6,11 +6,16 @@ if (command -v kubectl &>/dev/null); then
|
||||
alias k="kubectl"
|
||||
alias kg="kubectl get"
|
||||
alias kd="kubectl describe"
|
||||
|
||||
alias ks="kubectl --namespace kube-system"
|
||||
alias ksg="kubectl --namespace kube-system get"
|
||||
alias ksd="kubectl --namespace kube-system describe"
|
||||
alias kga="kubectl get --all-namespaces"
|
||||
alias kuc="kubectl config unset current-context"
|
||||
alias kun="kubectl config set-context --current --namespace="
|
||||
|
||||
# add completion for the alias as well
|
||||
complete -o default -F __start_kubectl k
|
||||
complete -o default -F __start_kubectl ks
|
||||
|
||||
alias kgnodes="kubectl get nodes --label-columns topology.kubernetes.io/region,topology.kubernetes.io/zone"
|
||||
alias kgmasters="kubectl get nodes --selector 'node-role.kubernetes.io/control-plane' --label-columns topology.kubernetes.io/region,topology.kubernetes.io/zone"
|
||||
alias kgworkers="kubectl get nodes --selector '!node-role.kubernetes.io/control-plane' --label-columns topology.kubernetes.io/region,topology.kubernetes.io/zone"
|
||||
alias kgtaints="kubectl get nodes --output custom-columns=NAME:.metadata.name,TAINTS:.spec.taints"
|
||||
fi
|
||||
|
@ -2,5 +2,6 @@
|
||||
|
||||
if (command -v lsd &> /dev/null)
|
||||
then
|
||||
alias ls=lsd
|
||||
alias ls='lsd'
|
||||
alias lt='lsd --tree'
|
||||
fi
|
||||
|
@ -9,3 +9,8 @@ then
|
||||
alias td='task done'
|
||||
alias ts='task sync'
|
||||
fi
|
||||
|
||||
if (command -v taskwarrior-tui &> /dev/null)
|
||||
then
|
||||
alias tu='taskwarrior-tui'
|
||||
fi
|
||||
|
@ -1,5 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -f "$HOME"/.nix-profile/etc/profile.d/hm-session-vars.sh ]; then
|
||||
source "$HOME"/.nix-profile/etc/profile.d/hm-session-vars.sh
|
||||
fi
|
||||
|
||||
if [ -f "$HOME"/.bash/profile ]; then source "$HOME"/.bash/profile; fi
|
||||
if [ -d "$HOME"/.bash/profile ]; then for file in "$HOME"/.bash/profile/*; do source "$file"; done; fi
|
||||
if [ -d "$HOME"/.bash/profile.d ]; then for file in "$HOME"/.bash/profile.d/*; do source "$file"; done; fi
|
||||
|
49
bashrc
49
bashrc
@ -11,22 +11,51 @@ if [[ $- != *i* ]]; then
|
||||
return
|
||||
fi
|
||||
|
||||
# DEBUG_BASHRC=true
|
||||
|
||||
# Determine path to directory of this file (FIX: remove dependency to readlink for posix compliance)
|
||||
BASEDIR=$(
|
||||
source_file=$(readlink -f "${BASH_SOURCE[0]}")
|
||||
source_dir=$(dirname "${source_file}")
|
||||
cd "${source_dir}" && pwd
|
||||
)
|
||||
|
||||
# Source some helpers functions
|
||||
source "${BASEDIR}/_helpers.bash"
|
||||
|
||||
# Source custom libs
|
||||
if [ -d "$HOME"/.bash/libs ]; then for lib in "$HOME"/.bash/libs/*.bash; do source "$lib"; done; fi
|
||||
_source_dir_files "${BASEDIR}"/libs
|
||||
|
||||
# Source 3rd party libs if they exists
|
||||
_source_file_if_exists "${BASEDIR}/3rd-party/complete-alias/complete_alias"
|
||||
# _source_file_if_exists "${BASEDIR}/3rd-party/z/z.sh" # FIX: Problème de gestion de la variable PROMPT_COMMAND
|
||||
|
||||
# Early customization
|
||||
_source_dir_files "${BASEDIR}"/rc.before.d
|
||||
|
||||
# Source rc.d/*
|
||||
if [ -d "$HOME"/.bash/rc.d ]; then for file in "$HOME"/.bash/rc.d/*; do source "$file"; done; fi
|
||||
_source_dir_files "${BASEDIR}"/rc
|
||||
_source_dir_files "${BASEDIR}"/rc.d
|
||||
|
||||
# Source alias definitions
|
||||
if [ -f "$HOME"/.bash_aliases ]; then source "$HOME"/.bash_aliases; fi
|
||||
if [ -f "$HOME"/.bash/aliases ]; then source "$HOME"/.bash/aliases; fi
|
||||
if [ -d "$HOME"/.bash/aliases ]; then for file in "$HOME"/.bash/aliases/*; do source "$file"; done; fi
|
||||
if [ -d "$HOME"/.bash/aliases.d ]; then for file in "$HOME"/.bash/aliases.d/*; do source "$file"; done; fi
|
||||
_source_file_if_exists ~/.bash_aliases
|
||||
_source_file_if_exists "${BASEDIR}"/aliases
|
||||
_source_dir_files "${BASEDIR}"/aliases
|
||||
_source_dir_files "${BASEDIR}"/aliases.d
|
||||
|
||||
# Source bash completion definitions
|
||||
# TODO: Améliorer cette partie pour éviter les erreurs quand aucun fichier n'existe
|
||||
for file in /etc/bash*completion /etc/profile.d/bash*completion*; do source "$file"; done
|
||||
|
||||
if [ -f "$HOME"/.bash_completion ]; then source "$HOME"/.bash_completion; fi
|
||||
if [ -f "$HOME"/.bash/completion ]; then source "$HOME"/.bash/completion; fi
|
||||
if [ -d "$HOME"/.bash/completion ]; then for file in "$HOME"/.bash/completion/*; do source "$file"; done; fi
|
||||
if [ -d "$HOME"/.bash/completion.d ]; then for file in "$HOME"/.bash/completion.d/*; do source "$file"; done; fi
|
||||
_source_file_if_exists ~/.bash_completion
|
||||
_source_file_if_exists "${BASEDIR}"/completion
|
||||
_source_dir_files "${BASEDIR}"/completion
|
||||
_source_dir_files "${BASEDIR}"/completion.d
|
||||
_source_dir_files ~/.nix-profile/share/bash-completion/completions
|
||||
|
||||
if (command -v _complete_alias &>/dev/null); then
|
||||
for alias in $(alias -p | awk '{print $2}' | awk -F= '{print $1}'); do complete -o default -F _complete_alias "$alias"; done
|
||||
fi
|
||||
|
||||
# Late customization
|
||||
_source_dir_files "${BASEDIR}"/rc.after.d
|
||||
|
@ -1,6 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
if ( which aws && which aws_completer ) &> /dev/null
|
||||
then
|
||||
if (command -v aws && command -v aws_completer) &>/dev/null; then
|
||||
complete -C aws_completer aws
|
||||
fi
|
||||
|
5
completion.d/chezmoi
Normal file
5
completion.d/chezmoi
Normal file
@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
if (command -v chezmoi &>/dev/null); then
|
||||
source <(chezmoi completion bash)
|
||||
fi
|
6
completion.d/flux
Normal file
6
completion.d/flux
Normal file
@ -0,0 +1,6 @@
|
||||
|
||||
#!/bin/bash
|
||||
|
||||
if (command -v flux &>/dev/null); then
|
||||
source <(flux completion bash)
|
||||
fi
|
5
completion.d/glab
Normal file
5
completion.d/glab
Normal file
@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
if (command -v glab &>/dev/null); then
|
||||
source <(glab completion)
|
||||
fi
|
5
completion.d/k3d
Normal file
5
completion.d/k3d
Normal file
@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
if (command -v k3d &>/dev/null); then
|
||||
source <(k3d completion bash)
|
||||
fi
|
5
completion.d/kind
Normal file
5
completion.d/kind
Normal file
@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
if (command -v kind &>/dev/null); then
|
||||
source <(kind completion bash)
|
||||
fi
|
5
completion.d/minikube
Normal file
5
completion.d/minikube
Normal file
@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
if (command -v minikube &>/dev/null); then
|
||||
source <(minikube completion bash)
|
||||
fi
|
@ -1,5 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
if (command -v mise &>/dev/null); then
|
||||
source <(mise completion bash)
|
||||
source <(mise completion bash --include-bash-completion-lib)
|
||||
fi
|
||||
|
5
completion.d/podman
Normal file
5
completion.d/podman
Normal file
@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
if (command -v podman &>/dev/null); then
|
||||
source <(podman completion bash)
|
||||
fi
|
@ -1,10 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
#SSH
|
||||
if [ -e ~/.ssh/config ]; then
|
||||
complete -W "$(cat ~/.ssh/config | egrep -i "^\s*host\s+[a-zA-Z]" | sed -e "s/^host\s*//i")" ssh
|
||||
fi
|
||||
|
||||
if [ -e ~/.ssh/known_hosts ]; then
|
||||
complete -W "$(cat ~/.ssh/known_hosts | cut -f 1 -d ' ' | sed -e s/,.*//g | uniq | grep -v "\[")" ssh
|
||||
fi
|
@ -1,5 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
function basedir() {
|
||||
echo $( cd $(dirname $0) && pwd )
|
||||
(cd "$(dirname \"$-2\")" && pwd)
|
||||
}
|
@ -30,6 +30,12 @@
|
||||
#48 Subscript
|
||||
#49 Superscript
|
||||
|
||||
#bold_on=`escape 1m`
|
||||
#bold_off=`escape 22m`
|
||||
#blink_on=`escape 5m`
|
||||
#blink_off=`escape 25m`
|
||||
#reset=`escape 0m`
|
||||
|
||||
#T_ROWS=`tput lines` # Define current terminal dimension
|
||||
#T_COLS=`tput cols` #+ in rows and columns.
|
||||
#_UNDERLINE_ON=`tput smul` # turn on underline
|
||||
@ -42,53 +48,33 @@
|
||||
#tput rev - Display inverse colors
|
||||
#tput sgr0 - Reset everything
|
||||
|
||||
default='\E[39;49;00m'
|
||||
bold='\E[1m'
|
||||
italic='\E[3m'
|
||||
underline='\E[4m'
|
||||
blink='\E[5m'
|
||||
# Affiche un message stylisé sur la sortie standard
|
||||
function echo_bold { echo -e "\e[1m${*}\e[0m"; }
|
||||
function echo_faint { echo -e "\e[2m${*}\e[0m"; }
|
||||
function echo_italic { echo -e "\e[3m${*}\e[0m"; }
|
||||
function echo_underline { echo -e "\e[4m${*}\e[0m"; }
|
||||
function echo_blink { echo -e "\e[5m${*}\e[0m"; }
|
||||
function echo_reverse { echo -e "\e[7m${*}\e[0m"; }
|
||||
function echo_concealed { echo -e "\e[8m${*}\e[0m"; }
|
||||
|
||||
blackonwhite='\E[30;47m'
|
||||
# Affiche un message informatif stylisé sur la sortie d'erreur
|
||||
function echo_info { >&2 echo -e "\e[00;34;49m ${*}\e[39;49;00m"; }
|
||||
function echo_warning { >&2 echo -e "\e[00;33;49m ${*}\e[39;49;00m"; }
|
||||
function echo_error { >&2 echo -e "\e[00;01;31;49m ${*}\e[39;49;00m"; }
|
||||
function echo_success { >&2 echo -e "\e[00;01;32;49m ${*}\e[39;49;00m"; }
|
||||
function echo_failed { >&2 echo -e "\e[00;01;31;49m✖ ${*}\e[39;49;00m"; }
|
||||
|
||||
#reset=`escape 0m`
|
||||
#black='\E[30;47m'
|
||||
#red='\E[31;47m'
|
||||
#green='\E[32;47m'
|
||||
#yellow='\E[33;47m'
|
||||
#blue='\E[34;47m'
|
||||
#magenta='\E[35;47m'
|
||||
#cyan='\E[36;47m'
|
||||
#white='\E[37;47m'
|
||||
#bold_on=`escape 1m`
|
||||
#bold_off=`escape 22m`
|
||||
#blink_on=`escape 5m`
|
||||
#blink_off=`escape 25m`
|
||||
|
||||
|
||||
function echo_reverse
|
||||
{
|
||||
echo -ne $blackonwhite
|
||||
echo -ne "$*"
|
||||
echo -e $default
|
||||
}
|
||||
|
||||
function echo_italic
|
||||
{
|
||||
echo -ne $italic
|
||||
echo -ne "$*"
|
||||
echo -e $default
|
||||
}
|
||||
|
||||
function echo_bold
|
||||
{
|
||||
echo -ne $bold
|
||||
echo -ne "$*"
|
||||
echo -e $default
|
||||
}
|
||||
|
||||
function echo_underline
|
||||
{
|
||||
echo -ne $underline
|
||||
echo -ne "$*"
|
||||
echo -e $default
|
||||
function echo_demo {
|
||||
echo_bold bold
|
||||
echo_faint faint
|
||||
echo_italic italic
|
||||
echo_underline underline
|
||||
echo_blink blink
|
||||
echo_reverse reverse
|
||||
echo_concealed concealed
|
||||
echo_info info
|
||||
echo_warning warning
|
||||
echo_error error
|
||||
echo_success success
|
||||
echo_failed failed
|
||||
}
|
||||
|
@ -3,17 +3,17 @@
|
||||
note() {
|
||||
# if file doesn't exist, create it
|
||||
if [[ ! -f $HOME/.notes ]]; then
|
||||
touch $HOME/.notes
|
||||
touch "$HOME"/.notes
|
||||
fi
|
||||
|
||||
if [[ $# -eq 0 ]]; then
|
||||
# no arguments, print file
|
||||
cat $HOME/.notes
|
||||
cat "$HOME"/.notes
|
||||
elif [[ "$1" == "-c" ]]; then
|
||||
# clear file
|
||||
echo "" > $HOME/.notes
|
||||
echo "" >"$HOME"/.notes
|
||||
else
|
||||
# add all arguments to file
|
||||
echo "$@" >> $HOME/.notes
|
||||
echo "$@" >>"$HOME"/.notes
|
||||
fi
|
||||
}
|
||||
|
@ -2,8 +2,8 @@
|
||||
|
||||
encpasswd() {
|
||||
local password_clear=$1
|
||||
local password_md5hash=$(openssl passwd -1 $password_clear)
|
||||
local password_sha1=$(echo -n $password_clear | openssl dgst -sha1)
|
||||
local password_md5hash=$(openssl passwd -1 "$password_clear")
|
||||
local password_sha1=$(echo -n "$password_clear" | openssl dgst -sha1)
|
||||
echo "Password : $password_clear"
|
||||
echo "MD5HASH : $password_md5hash"
|
||||
echo "SHA1 : $password_sha1"
|
||||
@ -12,8 +12,8 @@ encpasswd() {
|
||||
genpasswd() {
|
||||
local l=$1
|
||||
[ "$l" == "" ] && l=12
|
||||
local password_clear=$(tr -dc A-Za-z0-9_ < /dev/urandom | head -c ${l} | xargs)
|
||||
local password_md5hash=$(openssl passwd -1 $password_clear)
|
||||
local password_clear=$(tr -dc A-Za-z0-9_ </dev/urandom | head -c "${l}" | xargs)
|
||||
local password_md5hash=$(openssl passwd -1 "$password_clear")
|
||||
local password_sha1=$(echo -n "$password_clear" | openssl dgst -sha1)
|
||||
local password_base64=$(echo -n "$password_clear" | base64)
|
||||
echo "Password : $password_clear"
|
||||
|
@ -1,14 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
function ssh_clean_known_hosts ()
|
||||
{
|
||||
if [ -z "$1" ]
|
||||
then
|
||||
function ssh_clean_known_hosts() {
|
||||
if [ -z "$1" ]; then
|
||||
echo "No arguments given. Cleaning ~/.ssh/known_hosts"
|
||||
sed -i -e '/no hostip for proxy command/ d' ~/.ssh/known_hosts
|
||||
else
|
||||
hostname=$1
|
||||
ip=$(ssh admin dig +short $1)
|
||||
ip=$(ssh admin dig +short "$1")
|
||||
echo "Removing host ${hostname} from ~/.ssh/known_hosts"
|
||||
sed -i -e "/${hostname}/ d" ~/.ssh/known_hosts
|
||||
echo "Removing ip ${ip} from ~/.ssh/known_hosts"
|
||||
|
@ -1,7 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
function term_change_title
|
||||
{
|
||||
function term_change_title {
|
||||
case $TERM in
|
||||
# Change the window title of X terminals
|
||||
xterm* | rxvt* | urxvt* | Eterm)
|
||||
@ -9,7 +8,7 @@ function term_change_title
|
||||
;;
|
||||
|
||||
# Change the window title of screen terminals
|
||||
screen*)
|
||||
screen* | tmux*)
|
||||
echo -ne "\033k${1}\033\\"
|
||||
;;
|
||||
esac
|
||||
|
@ -8,7 +8,9 @@ if (command -v nvim &>/dev/null); then
|
||||
fi
|
||||
|
||||
# PAGER
|
||||
if (command -v less &>/dev/null); then
|
||||
export PAGER=less
|
||||
fi
|
||||
|
||||
# MANPAGER
|
||||
if (command -v nvim &>/dev/null); then
|
||||
@ -18,7 +20,11 @@ elif (command -v bat &>/dev/null); then
|
||||
fi
|
||||
|
||||
# TERMINAL
|
||||
if (command -v kitty &>/dev/null); then
|
||||
export TERMINAL=kitty
|
||||
fi
|
||||
|
||||
# BROWSER
|
||||
if (command -v firefox &>/dev/null); then
|
||||
export BROWSER=firefox
|
||||
fi
|
||||
|
@ -1,6 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
if $(which keychain &> /dev/null)
|
||||
then
|
||||
eval $(keychain --agents ssh,gpg --eval)
|
||||
if (command -v keychain &>/dev/null); then
|
||||
eval "$(keychain --eval --noask ~/.ssh/{id_ed25519,id_rsa_native})"
|
||||
fi
|
||||
|
0
rc.after.d/.keep
Normal file
0
rc.after.d/.keep
Normal file
3
rc.after.d/blesh
Normal file
3
rc.after.d/blesh
Normal file
@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
[[ ${BLE_VERSION-} ]] && ble-attach
|
0
rc.before.d/.keep
Normal file
0
rc.before.d/.keep
Normal file
@ -3,7 +3,4 @@
|
||||
# ble.sh () installed from nix
|
||||
if (command -v blesh-share &>/dev/null); then
|
||||
source "$(blesh-share)"/ble.sh --attach=none # does not work currently
|
||||
# ...
|
||||
[[ ${BLE_VERSION-} ]] && ble-attach
|
||||
# source "$(blesh-share)"/ble.sh
|
||||
fi
|
@ -4,7 +4,6 @@
|
||||
|
||||
# git clone https://github.com/riywo/anyenv $HOME/.anyenv
|
||||
|
||||
if ( which anyenv &> /dev/null )
|
||||
then
|
||||
if (which anyenv &>/dev/null); then
|
||||
eval "$(anyenv init -)"
|
||||
fi
|
||||
|
12
rc.d/direnv
12
rc.d/direnv
@ -1,11 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
if ( which asdf &> /dev/null )
|
||||
then
|
||||
|
||||
if ( asdf which direnv &> /dev/null )
|
||||
then
|
||||
|
||||
if (asdf which direnv &>/dev/null); then
|
||||
# Hook direnv into your shell.
|
||||
eval "$(asdf exec direnv hook bash)"
|
||||
|
||||
@ -13,11 +8,8 @@ then
|
||||
direnv() { asdf exec direnv "$@"; }
|
||||
|
||||
return
|
||||
fi
|
||||
|
||||
elif ( which direnv &> /dev/null )
|
||||
then
|
||||
|
||||
elif (command -v direnv &>/dev/null); then
|
||||
# Hook direnv into your shell.
|
||||
eval "$(direnv hook bash)"
|
||||
|
||||
|
31
rc.d/fzf
Normal file
31
rc.d/fzf
Normal file
@ -0,0 +1,31 @@
|
||||
#!/bin/bash
|
||||
|
||||
if (command -v fzf &>/dev/null); then
|
||||
|
||||
source <(fzf --bash)
|
||||
|
||||
# Selection de fichiers
|
||||
export FZF_CTRL_T_OPTS="--height 60% \
|
||||
--border sharp \
|
||||
--layout reverse \
|
||||
--prompt ' ' \
|
||||
--pointer ❯ \
|
||||
--marker ✔"
|
||||
|
||||
# Navigation vers un répertoire
|
||||
export FZF_ALT_C_OPTS="--height 60% \
|
||||
--border sharp \
|
||||
--layout reverse \
|
||||
--prompt ' ' \
|
||||
--pointer ❯ \
|
||||
--marker ✔"
|
||||
|
||||
# Navigation dans l'historique
|
||||
export FZF_CTRL_R_OPTS="--height 60% \
|
||||
--border sharp \
|
||||
--layout reverse \
|
||||
--prompt ' ' \
|
||||
--pointer ❯ \
|
||||
--marker ✔"
|
||||
|
||||
fi
|
@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
if (which mcfly &>/dev/null); then
|
||||
if (command -v mcfly &>/dev/null); then
|
||||
export MCFLY_PROMPT="❯ "
|
||||
export MCFLY_INTERFACE_VIEW=BOTTOM
|
||||
export MCFLY_RESULTS=50
|
||||
|
51
rc.d/prompt
51
rc.d/prompt
@ -2,42 +2,41 @@
|
||||
|
||||
# Customize the prompt
|
||||
|
||||
POWERLINE_LOCATION=$(command -v powerline-go || command -v powerline) &>/dev/null
|
||||
POWERLINE=$(basename "$POWERLINE_LOCATION")
|
||||
USE_PROMPT=powerline-go
|
||||
|
||||
if [ "${POWERLINE}" = "powerline-go" ]; then
|
||||
|
||||
echo "Using $POWERLINE"
|
||||
|
||||
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_add "_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"
|
||||
case "$USE_PROMPT" in
|
||||
|
||||
"starship")
|
||||
if (command -v starship &>/dev/null); then
|
||||
# echo "Using $USE_PROMPT prompt"
|
||||
eval "$(starship init bash)"
|
||||
else
|
||||
echo "$USE_PROMPT command not found"
|
||||
fi
|
||||
;;
|
||||
|
||||
"powerline-go")
|
||||
if (command -v powerline-go &>/dev/null); then
|
||||
# echo "Using $USE_PROMPT prompt"
|
||||
function _update_ps1() {
|
||||
PS1=$(powerline-go -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_add "_update_ps1"; fi
|
||||
else
|
||||
echo "$USE_PROMPT command not found"
|
||||
fi
|
||||
;;
|
||||
|
||||
*)
|
||||
# Default simple prompt
|
||||
if [ "$UID" -eq 0 ]; then
|
||||
export PS1='\[\e[01;31m\]\u@\h\[\e[01;34m\] \w \$\[\e[0m\] '
|
||||
else
|
||||
export PS1='\[\e[01;32m\]\u@\h\[\e[01;34m\] \w \$\[\e[0m\] '
|
||||
fi
|
||||
;;
|
||||
|
||||
fi
|
||||
esac
|
||||
|
||||
# Limit the path to 3 levels
|
||||
PROMPT_DIRTRIM=3
|
||||
|
24
rc.d/tmux
24
rc.d/tmux
@ -1,25 +1,21 @@
|
||||
#!/bin/bash
|
||||
|
||||
# GNU Screen stuff
|
||||
if ( which tmux &> /dev/null )
|
||||
then
|
||||
if [ $(pgrep -u "$UID" "tmux" | wc -l) -gt 0 ]
|
||||
then
|
||||
if [[ $TERM != screen* ]]
|
||||
then
|
||||
if (command -v tmux &>/dev/null); then
|
||||
if [ "$(pgrep -u "$UID" "tmux" | wc -l)" -gt 0 ]; then
|
||||
if [[ $TERM != screen* ]]; then
|
||||
nb_sessions=$(tmux list-session | wc -l)
|
||||
nb_sessions_attached=$(tmux list-session | grep "attached" | wc -l)
|
||||
nb_sessions_detached=$(tmux list-session | grep -v "attached" | wc -l)
|
||||
nb_sessions_attached=$(tmux list-session | grep -c "attached")
|
||||
nb_sessions_detached=$(tmux list-session | grep -c -v "attached")
|
||||
|
||||
echo_reverse "Found ${nb_sessions} tmux session(s)"
|
||||
echo_info "tmux : found ${nb_sessions} session(s)"
|
||||
|
||||
echo " * ${nb_sessions_attached} attached"
|
||||
tmux list-sessions | grep "attached" | sed -e 's/^/ - /'
|
||||
echo "➤ ${nb_sessions_attached} session(s) attached"
|
||||
tmux list-sessions | grep "attached" | sed -e 's/^/ • /'
|
||||
|
||||
echo " * ${nb_sessions_detached} detached"
|
||||
tmux list-sessions | grep -v "attached" | sed -e 's/^/ - /'
|
||||
echo "➤ ${nb_sessions_detached} session(s) detached"
|
||||
tmux list-sessions | grep -v "attached" | sed -e 's/^/ • /'
|
||||
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
|
5
rc.d/zoxide
Normal file
5
rc.d/zoxide
Normal file
@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
if (command -v zoxide &>/dev/null); then
|
||||
eval "$(zoxide init bash)"
|
||||
fi
|
Reference in New Issue
Block a user