Compare commits

...

43 Commits

Author SHA1 Message Date
2aaf279c9e feat(libs): Prise en compte de tmux dans la fonction term_change_title 2025-03-27 11:35:46 +00:00
5b0012ffc1 feat(rc): Ajout du support de fzf 2025-03-21 09:37:27 +00:00
af4fb0e5fa feat(rc): Ajout de l'outil zoxide 2025-03-15 22:37:34 +00:00
8fc95d8e90 feat(completion): Ajout de la completion pour l'outil chezmoi 2025-03-13 00:20:24 +01:00
a5dd0be77c feat(aliases): Ajout d'un alias pour lsd
Ajout de l'alias lt pour `lsd --tree` qui est un équivalent de la
commande `tree`.
2025-03-13 00:20:24 +01:00
981430eef1 feat(completion): Amélioration de la complétion pour mise 2025-03-13 00:20:24 +01:00
c7be86ecb6 fix: fix submodule directory 2025-03-13 00:20:24 +01:00
611bab8f2f feat: Add 3rd party libs 2025-03-13 00:20:24 +01:00
333a7d8b46 feat: Ajout des répertoires rc.before.d et rc.after.d 2025-03-13 00:20:24 +01:00
c53e964ce9 feat: Améliore la gestion pour sourcer le contenu des sous-répertoires (*.d) 2025-03-13 00:20:24 +01:00
5cb8b5dfaf feat(rc): Amélioration de la gestion de tmux 2025-03-13 00:19:53 +01:00
08916f80b6 feat(completion): Ajout du support de minikube 2025-01-17 09:07:56 +00:00
9324547f92 feat(completion): Ajout du support de k3d 2025-01-17 09:07:23 +00:00
1c34023066 feat(completion): Ajout du support de flux 2025-01-17 09:07:04 +00:00
cd341b7d80 feat(rc): Amélioration de la gestion de anyenv 2025-01-17 09:05:56 +00:00
af5d43fb36 feat(rc): Amélioration de la gestion de tmux 2025-01-17 09:05:09 +00:00
ddd9509d74 feat(rc): Amélioration de la gestion de mcfly 2025-01-17 09:04:46 +00:00
30597e31ed feat(profile): Amélioration de la gestion de keychain 2025-01-17 09:03:53 +00:00
ebb0139dbe feat(profile): Amélioration de la gestions des applications par défaut 2025-01-17 09:03:19 +00:00
3759b1b0ac feat: Amélioration des aliases pour kubectl 2025-01-17 08:59:20 +00:00
5f0ab15c42 feat: Ajout d'un alias automatique pour bat (improved cat) 2025-01-17 08:55:27 +00:00
9e5fcc649e feat: Modification completion aws 2024-07-29 08:19:18 +00:00
5d71c2aa96 feat: Ajout completion pour glab 2024-07-29 08:18:30 +00:00
af4807ed97 feat: Amélioration de la librairie colors 2024-07-19 10:32:08 +00:00
f41e1c2411 fix: Meilleure gestion de Nix dans le bash_profile 2024-07-18 09:26:38 +00:00
c2c0a11402 feat: Corrections shellcheck 2024-06-28 10:28:56 +00:00
268ad94470 feat: Désactivation de librairies obsolettes 2024-06-28 10:28:18 +00:00
a6905b9489 feat: Suppression completion ssh obsolete 2024-06-28 09:44:32 +00:00
84ffaf33d2 feat: Ajout alias pour taskwarrior-tui 2024-06-28 09:00:56 +00:00
ce15f00b6f feat: Ajout automatique de la compltetion pour les aliases si _complete_alias est disponible 2024-06-28 08:32:11 +00:00
cb323ec6c0 feat: Utilise nullglob pour éviter les erreurs de répertoires vides 2024-06-28 08:31:10 +00:00
0c749a5fd0 feat: Définit des aliases plus génériques pour cd 2024-06-28 08:29:40 +00:00
1338369be7 feat: Ajout completion pour kind 2024-06-24 09:24:49 +00:00
9535c409e7 feat: Ajout completion pour podman 2024-06-24 09:24:32 +00:00
a5671801de fix: Annulation déplacement de asdf et mise vers profile.d 2024-06-21 17:15:19 +00:00
df6de3cdbb feat: Réécriture gestion des prompts dans rc.d 2024-06-21 16:49:23 +00:00
f651195b22 fix: Correction activation ble.sh 2024-06-21 16:48:06 +00:00
640df9986c fix: Correction gestion direnv lorsqu'il n'est pas installé via asdf 2024-06-21 16:47:07 +00:00
2140f57862 feat: Ajout support ble.sh installé depuis Nix 2024-06-21 13:23:29 +00:00
167be1c6a1 feat: Ajout support asdf-vm installé depuis Nix 2024-06-21 13:22:52 +00:00
0b8bba8c9b feat: Meilleure gestion des applications par défaut 2024-06-21 13:21:56 +00:00
8fcea3473a chore: Nettoyage configuration krew dans rc.d 2024-06-20 09:51:04 +00:00
aa9835f8bd feat: shellcheck 2024-06-19 09:19:05 +00:00
49 changed files with 393 additions and 236 deletions

6
.gitmodules vendored Normal file
View 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

44
_helpers.bash Normal file
View 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
View File

@ -0,0 +1,5 @@
#!/bin/bash
if (command -v bat &>/dev/null); then
alias cat=bat
fi

View File

@ -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

View File

@ -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

View File

@ -2,5 +2,6 @@
if (command -v lsd &> /dev/null)
then
alias ls=lsd
alias ls='lsd'
alias lt='lsd --tree'
fi

View File

@ -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

View File

@ -1,8 +1,12 @@
#!/bin/bash
if [ -f $HOME/.bash/profile ]; then source $HOME/.bash/profile; fi
if [ -d $HOME/.bash/profile ]; then for file in $(ls $HOME/.bash/profile/*); do source $file; done; fi
if [ -d $HOME/.bash/profile.d ]; then for file in $(ls $HOME/.bash/profile.d/*); do source $file; done; fi
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
# This file is sourced by bash for login shells. The following line
# runs your .bashrc and is recommended by the bash info pages.

52
bashrc
View File

@ -6,28 +6,56 @@
# Test for an interactive shell. There is no need to set anything
# past this point for scp and rcp, and it's important to refrain from
# outputting anything in those cases.
if [[ $- != *i* ]] ; then
if [[ $- != *i* ]]; then
# Shell is non-interactive. Be done now!
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 $(ls $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 $(ls $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 $(ls $HOME/.bash/aliases/*); do source $file; done; fi
if [ -d $HOME/.bash/aliases.d ]; then for file in $(ls $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
for file in /etc/bash*completion /etc/profile.d/bash*completion* ; do source $file ; done
# 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 $(ls $HOME/.bash/completion/*); do source $file; done; fi
if [ -d $HOME/.bash/completion.d ]; then for file in $(ls $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

View File

@ -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
View 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
View 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
View File

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

5
completion.d/k3d Normal file
View 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
View 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
View File

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

View File

@ -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
View File

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

View File

@ -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

View File

@ -1,5 +1,5 @@
#!/bin/bash
function basedir() {
echo $( cd $(dirname $0) && pwd )
(cd "$(dirname \"$-2\")" && pwd)
}

View File

@ -1,94 +1,80 @@
#!/bin/bash
#ANSI CODES
#Code Effect
#0 All attributes off
#1 Bold
#2 Faint
#3 Italic
#4 Underline
#5 Blink
#6 Rapid blink
#7 Reverse video
#8 Concealed
#30 Black foreground
#31 Red foreground
#32 Green foreground
#33 Yellow foreground
#34 Blue foreground
#35 Magenta foreground
#36 Cyan foreground
#37 White foreground
#40 Black background
#41 Red background
#42 Green background
#43 Yellow background
#44 Blue background
#45 Magenta background
#46 Cyan background
#47 White background
#48 Subscript
#49 Superscript
#Code Effect
#0 All attributes off
#1 Bold
#2 Faint
#3 Italic
#4 Underline
#5 Blink
#6 Rapid blink
#7 Reverse video
#8 Concealed
#30 Black foreground
#31 Red foreground
#32 Green foreground
#33 Yellow foreground
#34 Blue foreground
#35 Magenta foreground
#36 Cyan foreground
#37 White foreground
#40 Black background
#41 Red background
#42 Green background
#43 Yellow background
#44 Blue background
#45 Magenta background
#46 Cyan background
#47 White background
#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
#_UNDERLINE_OFF=`tput rmul` # turn off underline
#tput setf 4 # tput setf {fg color number}
#tput setb 2 # tput setb {bg color number}
#tput setf 4 # tput setf {fg color number}
#tput setb 2 # tput setb {bg color number}
#tput bold - Bold effect
#tput tsmi - Italic
#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
}

View File

@ -1,19 +1,19 @@
#!/bin/bash
note () {
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
}

View File

@ -1,19 +1,19 @@
#!/bin/bash
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_clear=$1
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"
}
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 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_sha1=$(echo -n "$password_clear" | openssl dgst -sha1)
local password_base64=$(echo -n "$password_clear" | base64)
echo "Password : $password_clear"

View File

@ -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"

View File

@ -1,17 +1,16 @@
#!/bin/bash
function term_change_title
{
function term_change_title {
case $TERM in
# Change the window title of X terminals
xterm*|rxvt*|urxvt*|Eterm)
echo -ne "\033]0;${1}\007"
;;
# Change the window title of X terminals
xterm* | rxvt* | urxvt* | Eterm)
echo -ne "\033]0;${1}\007"
;;
# Change the window title of screen terminals
screen*)
echo -ne "\033k${1}\033\\"
;;
# Change the window title of screen terminals
screen* | tmux*)
echo -ne "\033k${1}\033\\"
;;
esac
}

View File

@ -1,8 +1,30 @@
#!/bin/bash
# Defined prefered applications
export TERMINAL=kitty
export PAGER=less
export EDITOR=nvim
export BROWSER=firefox
# EDITOR
if (command -v nvim &>/dev/null); then
export EDITOR=nvim
fi
# PAGER
if (command -v less &>/dev/null); then
export PAGER=less
fi
# MANPAGER
if (command -v nvim &>/dev/null); then
export MANPAGER='nvim +Man!'
elif (command -v bat &>/dev/null); then
export MANPAGER="sh -c 'col -bx | bat -l man -p'"
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

View File

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

View File

@ -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
View File

3
rc.after.d/blesh Normal file
View File

@ -0,0 +1,3 @@
#!/bin/bash
[[ ${BLE_VERSION-} ]] && ble-attach

0
rc.before.d/.keep Normal file
View File

6
rc.before.d/blesh Normal file
View File

@ -0,0 +1,6 @@
#!/bin/bash
# ble.sh () installed from nix
if (command -v blesh-share &>/dev/null); then
source "$(blesh-share)"/ble.sh --attach=none # does not work currently
fi

View File

@ -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

16
rc.d/asdf Normal file
View File

@ -0,0 +1,16 @@
#!/bin/bash
if [ -f ~/.asdf/asdf.sh ]; then
# activate asdf
source ~/.asdf/asdf.sh
# activate completion
source ~/.asdf/completions/asdf.bash
fi
if [ -f "$HOME/.nix-profile/share/asdf-vm/asdf.sh" ]; then
. "$HOME/.nix-profile/share/asdf-vm/asdf.sh"
. "$HOME/.nix-profile/share/bash-completion/completions/asdf.bash"
fi

View File

@ -1,24 +1,16 @@
#!/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)"
if ( asdf which direnv &> /dev/null )
then
# A shortcut for asdf managed direnv.
direnv() { asdf exec direnv "$@"; }
# Hook direnv into your shell.
eval "$(asdf exec direnv hook bash)"
return
# 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)"
elif (command -v direnv &>/dev/null); then
# Hook direnv into your shell.
eval "$(direnv hook bash)"
fi

31
rc.d/fzf Normal file
View 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

View File

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

View File

@ -1,11 +1,11 @@
#!/bin/bash
if (which mcfly &>/dev/null); then
export MCFLY_PROMPT=""
export MCFLY_INTERFACE_VIEW=BOTTOM
export MCFLY_RESULTS=50
export MCFLY_RESULTS_SORT=LAST_RUN
# export MCFLY_KEY_SCHEME=vim
export MCFLY_FUZZY=3
eval "$(mcfly init bash)"
if (command -v mcfly &>/dev/null); then
export MCFLY_PROMPT=" "
export MCFLY_INTERFACE_VIEW=BOTTOM
export MCFLY_RESULTS=50
export MCFLY_RESULTS_SORT=LAST_RUN
# export MCFLY_KEY_SCHEME=vim
export MCFLY_FUZZY=3
eval "$(mcfly init bash)"
fi

View File

@ -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
case "$USE_PROMPT" in
echo "Using $POWERLINE"
"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
;;
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"
else
"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

View File

@ -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
View File

@ -0,0 +1,5 @@
#!/bin/bash
if (command -v zoxide &>/dev/null); then
eval "$(zoxide init bash)"
fi