Compare commits
	
		
			78 Commits
		
	
	
		
			macos
			...
			e39995c5ee
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					e39995c5ee | ||
| 
						 | 
					b05ba3c9a3 | ||
| 
						 | 
					a120bce087 | ||
| 
						 | 
					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 | ||
| 
						 | 
					2140f57862 | ||
| 
						 | 
					167be1c6a1 | ||
| 
						 | 
					0b8bba8c9b | ||
| 
						 | 
					8fcea3473a | ||
| 
						 | 
					aa9835f8bd | ||
| 
						 | 
					c9411bb43d | ||
| 
						 | 
					c9bb673a15 | ||
| 
						 | 
					ee3626059c | ||
| 
						 | 
					9fddab2e35 | ||
| 
						 | 
					2fa4a55223 | ||
| 
						 | 
					7f3f24e14d | ||
| 
						 | 
					45914bdb5a | ||
| 710ad109cc | |||
| 0b9532e95b | |||
| 704c4cdd9e | |||
| df8172f138 | |||
| 66c57a0a51 | |||
| 
						 | 
					fe6642402b | ||
| 
						 | 
					a50a9359ad | ||
| 
						 | 
					2fe787a370 | ||
| 
						 | 
					d4c31d32d9 | ||
| 
						 | 
					5aad94e71b | ||
| 
						 | 
					33c51aa0a6 | ||
| 7836bb1761 | |||
| 6aec2fe66f | |||
| 07756ac711 | |||
| 8d5f8950db | |||
| c04d8876a3 | |||
| c8442dabc0 | |||
| 7176baf0bc | |||
| 18ce1f6d7e | |||
| 058c4f473c | |||
| 1e20a91e84 | |||
| 0e58fa99f4 | |||
| ece4edeb18 | |||
| 
						 | 
					2cae0f7d03 | ||
| 217eb70b58 | |||
| e2920cab80 | |||
| 2ecb4c53fa | |||
| c58348a679 | |||
| ba9ad2784c | |||
| a6948a056a | |||
| 554f8a4db8 | |||
| a67d6448e9 | |||
| 616bbba449 | |||
| b1b8a4b3f9 | |||
| 5904b2693a | |||
| cc25e775d3 | 
							
								
								
									
										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
 | 
			
		||||
							
								
								
									
										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
 | 
			
		||||
 
 | 
			
		||||
@@ -3,4 +3,7 @@
 | 
			
		||||
# Fun
 | 
			
		||||
alias matrix='tr -c "[:digit:]" " " < /dev/urandom | dd cbs=$COLUMNS conv=unblock | GREP_COLOR="1;32" grep --color "[^ ]"'
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
 
 | 
			
		||||
@@ -1,12 +1,12 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
# Git
 | 
			
		||||
if [ -x /usr/bin/git ]
 | 
			
		||||
then
 | 
			
		||||
if [ -x /usr/bin/git ]; then
 | 
			
		||||
    alias gs='git status'
 | 
			
		||||
    alias ga='git add'
 | 
			
		||||
    alias gc='git commit'
 | 
			
		||||
    alias gca='git commit -a'
 | 
			
		||||
    alias gf='git fetch'
 | 
			
		||||
    alias gu='git pull'
 | 
			
		||||
    alias gp='git pull && git push'
 | 
			
		||||
    alias gd='git diff'
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6
									
								
								aliases.d/gopass
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								aliases.d/gopass
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
if (command -v 'gopass' && ! command -v pass ) &> /dev/null
 | 
			
		||||
then
 | 
			
		||||
  alias pass='gopass'
 | 
			
		||||
fi
 | 
			
		||||
							
								
								
									
										21
									
								
								aliases.d/kubectl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								aliases.d/kubectl
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
if (command -v kubectl &>/dev/null); then
 | 
			
		||||
 | 
			
		||||
	# create some usefull aliases
 | 
			
		||||
	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="
 | 
			
		||||
 | 
			
		||||
	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
 | 
			
		||||
							
								
								
									
										6
									
								
								aliases.d/lazygit
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								aliases.d/lazygit
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
#/bin/bash
 | 
			
		||||
 | 
			
		||||
if (command -v lazygit &> /dev/null)
 | 
			
		||||
then
 | 
			
		||||
  alias lg=lazygit
 | 
			
		||||
fi
 | 
			
		||||
							
								
								
									
										6
									
								
								aliases.d/lsd
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								aliases.d/lsd
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
if (command -v lsd &> /dev/null)
 | 
			
		||||
then
 | 
			
		||||
  alias ls=lsd
 | 
			
		||||
fi
 | 
			
		||||
@@ -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
									
								
							
							
						
						
									
										7
									
								
								aliases.d/nvim
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
# Vim Editor
 | 
			
		||||
if [ -x ~/AppImages/nvim.appimage ]
 | 
			
		||||
then
 | 
			
		||||
  alias nvim='~/AppImages/nvim.appimage'
 | 
			
		||||
fi
 | 
			
		||||
@@ -1,6 +1,7 @@
 | 
			
		||||
#
 | 
			
		||||
# Aliases for taskwarrior
 | 
			
		||||
#
 | 
			
		||||
if (which task &> /dev/null)
 | 
			
		||||
if (command -v task &> /dev/null)
 | 
			
		||||
then
 | 
			
		||||
  alias t='task'
 | 
			
		||||
  alias tl='task list'
 | 
			
		||||
@@ -8,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,9 +1,20 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
# Vim Editor
 | 
			
		||||
if [ -x /usr/bin/vim ]
 | 
			
		||||
if (command -v nvim &> /dev/null)
 | 
			
		||||
then
 | 
			
		||||
  alias vi='vim -p'
 | 
			
		||||
  alias view='vim -R'
 | 
			
		||||
  alias vless='vim -u /usr/share/vim/vim74/macros/less.vim -c "colorscheme mustangpp"'
 | 
			
		||||
  alias vim=nvim
 | 
			
		||||
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
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										10
									
								
								bash_profile
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								bash_profile
									
									
									
									
									
								
							@@ -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.
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										50
									
								
								bashrc
									
									
									
									
									
								
							
							
						
						
									
										50
									
								
								bashrc
									
									
									
									
									
								
							@@ -11,23 +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 $(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
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										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
 | 
			
		||||
							
								
								
									
										6
									
								
								completion.d/helm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								completion.d/helm
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
if (command -v helm &> /dev/null)
 | 
			
		||||
then
 | 
			
		||||
  source <( helm completion bash )
 | 
			
		||||
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
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
if ( which kubectl ) &> /dev/null
 | 
			
		||||
if (command -v kubectl &> /dev/null)
 | 
			
		||||
then
 | 
			
		||||
  source <(kubectl 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
 | 
			
		||||
							
								
								
									
										5
									
								
								completion.d/mise
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								completion.d/mise
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
if (command -v mise &>/dev/null); then
 | 
			
		||||
	source <(mise completion bash)
 | 
			
		||||
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
 | 
			
		||||
							
								
								
									
										6
									
								
								completion.d/poetry
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								completion.d/poetry
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
if ( command -v poetry &> /dev/null )
 | 
			
		||||
then
 | 
			
		||||
  source <(poetry completions 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
 | 
			
		||||
							
								
								
									
										6
									
								
								completion.d/stern
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								completion.d/stern
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
if (command -v stern &> /dev/null)
 | 
			
		||||
then
 | 
			
		||||
  source <(stern --completion bash)
 | 
			
		||||
fi
 | 
			
		||||
							
								
								
									
										7
									
								
								completion.d/taskwarrior
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								completion.d/taskwarrior
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
#
 | 
			
		||||
# Completion for taskwarrior
 | 
			
		||||
#
 | 
			
		||||
if (command -v task &> /dev/null)
 | 
			
		||||
then
 | 
			
		||||
  complete -o nospace -F _task t
 | 
			
		||||
fi
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
function basedir() {
 | 
			
		||||
  echo $( cd $(dirname $0) && pwd )
 | 
			
		||||
  (cd "$(dirname \"$-2\")" && pwd)
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										9
									
								
								libs.deprecated/path.bash
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								libs.deprecated/path.bash
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
_path_add() {
 | 
			
		||||
    if [ -d "$1" ] && [[ ":$PATH:" != *":$1:"* ]]; then
 | 
			
		||||
        PATH="${PATH:+"$PATH:"}$1"
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Source : https://superuser.com/questions/39751/add-directory-to-path-if-its-not-already-there
 | 
			
		||||
							
								
								
									
										9
									
								
								libs.deprecated/prompt_command.bash
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								libs.deprecated/prompt_command.bash
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
_prompt_command_add() {
 | 
			
		||||
    if [ -n "$1" ] && [[ ":$PROMPT_COMMAND:" != *":$1:"* ]]; then
 | 
			
		||||
        PROMPT_COMMAND="${PROMPT_COMMAND:+"$PROMPT_COMMAND;"}$1"
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export PROMPT_COMMAND
 | 
			
		||||
@@ -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,10 +12,12 @@ 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_sha1=$(echo -n $password_clear | openssl dgst -sha1)
 | 
			
		||||
        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"
 | 
			
		||||
        echo "Base64 : $password_base64"
 | 
			
		||||
        echo "MD5HASH  : $password_md5hash"
 | 
			
		||||
        echo "SHA1  : $password_sha1"
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -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,8 +1,30 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
# Defined prefered applications
 | 
			
		||||
export TERMINAL=urxvtc
 | 
			
		||||
export PAGER=less
 | 
			
		||||
export EDITOR=vim
 | 
			
		||||
export BROWSER=surf
 | 
			
		||||
 | 
			
		||||
# 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
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										5
									
								
								profile.d/krew
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								profile.d/krew
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
if (command -v krew &>/dev/null); then
 | 
			
		||||
	export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"
 | 
			
		||||
fi
 | 
			
		||||
@@ -1,4 +0,0 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
# Defined prefered applications
 | 
			
		||||
export XDG_RUNTIME_DIR=$HOME/.cache
 | 
			
		||||
							
								
								
									
										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
									
								
							
							
								
								
									
										6
									
								
								rc.before.d/blesh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								rc.before.d/blesh
									
									
									
									
									
										Normal 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
 | 
			
		||||
@@ -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
									
								
							
							
						
						
									
										16
									
								
								rc.d/asdf
									
									
									
									
									
										Normal 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
 | 
			
		||||
							
								
								
									
										23
									
								
								rc.d/broot
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								rc.d/broot
									
									
									
									
									
										Normal 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
									
								
							
							
						
						
									
										0
									
								
								rc.d/cgroups
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										16
									
								
								rc.d/direnv
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								rc.d/direnv
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
elif (command -v direnv &>/dev/null); then
 | 
			
		||||
	# Hook direnv into your shell.
 | 
			
		||||
	eval "$(direnv hook bash)"
 | 
			
		||||
 | 
			
		||||
fi
 | 
			
		||||
							
								
								
									
										5
									
								
								rc.d/git
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								rc.d/git
									
									
									
									
									
										Normal 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
 | 
			
		||||
							
								
								
									
										10
									
								
								rc.d/lsd
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								rc.d/lsd
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
if (which lsd &> /dev/null)
 | 
			
		||||
then
 | 
			
		||||
 | 
			
		||||
  # create a aliases
 | 
			
		||||
  alias ls='lsd'
 | 
			
		||||
  alias lt='lsd --tree'
 | 
			
		||||
 | 
			
		||||
fi
 | 
			
		||||
							
								
								
									
										11
									
								
								rc.d/mcfly
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								rc.d/mcfly
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
			
		||||
#!/bin/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
 | 
			
		||||
@@ -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
 | 
			
		||||
							
								
								
									
										8
									
								
								rc.d/mise
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								rc.d/mise
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,8 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
if (command -v mise &>/dev/null); then
 | 
			
		||||
 | 
			
		||||
	# activate mise-en-place (https://mise.jdx.dev/)
 | 
			
		||||
	eval "$(mise activate bash)"
 | 
			
		||||
 | 
			
		||||
fi
 | 
			
		||||
							
								
								
									
										37
									
								
								rc.d/prompt
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										37
									
								
								rc.d/prompt
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							@@ -2,20 +2,41 @@
 | 
			
		||||
 | 
			
		||||
# Customize the prompt
 | 
			
		||||
 | 
			
		||||
if (which powerline-go &> /dev/null); then
 | 
			
		||||
   function _update_ps1() {
 | 
			
		||||
     PS1="$(powerline-go -error $?)"
 | 
			
		||||
   }
 | 
			
		||||
   if [ "$TERM" != "linux" ] ; then
 | 
			
		||||
     export PROMPT_COMMAND="_update_ps1; $PROMPT_COMMAND"
 | 
			
		||||
   fi
 | 
			
		||||
USE_PROMPT=powerline-go
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										0
									
								
								rc.d/screen
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								rc.d/screen
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										16
									
								
								rc.d/tmux
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										16
									
								
								rc.d/tmux
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							@@ -1,17 +1,14 @@
 | 
			
		||||
#!/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 "Found ${nb_sessions} tmux session(s)"
 | 
			
		||||
 | 
			
		||||
      echo " * ${nb_sessions_attached} attached"
 | 
			
		||||
      tmux list-sessions | grep "attached" | sed -e 's/^/     - /'
 | 
			
		||||
@@ -22,4 +19,3 @@ then
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										0
									
								
								rc.d/urxvt
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								rc.d/urxvt
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							
		Reference in New Issue
	
	Block a user