Compare commits
	
		
			8 Commits
		
	
	
		
			b1cc37ba00
			...
			8fc95d8e90
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 8fc95d8e90 | |||
| a5dd0be77c | |||
| 981430eef1 | |||
| c7be86ecb6 | |||
| 
						 | 
					611bab8f2f | ||
| 
						 | 
					333a7d8b46 | ||
| 
						 | 
					c53e964ce9 | ||
| 5cb8b5dfaf | 
							
								
								
									
										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
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -2,5 +2,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
if (command -v lsd &> /dev/null)
 | 
					if (command -v lsd &> /dev/null)
 | 
				
			||||||
then
 | 
					then
 | 
				
			||||||
  alias ls=lsd
 | 
					  alias ls='lsd'
 | 
				
			||||||
 | 
					  alias lt='lsd --tree'
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										56
									
								
								bashrc
									
									
									
									
									
								
							
							
						
						
									
										56
									
								
								bashrc
									
									
									
									
									
								
							@@ -11,37 +11,51 @@ if [[ $- != *i* ]]; then
 | 
				
			|||||||
	return
 | 
						return
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Safe loops for empty dirs
 | 
					# DEBUG_BASHRC=true
 | 
				
			||||||
shopt -s nullglob
 | 
					
 | 
				
			||||||
 | 
					# 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
 | 
					# 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
 | 
					# Early customization
 | 
				
			||||||
if [ -d "$HOME"/.bash/rc.before.d ]; then for file in "$HOME"/.bash/rc.before.d/*; do source "$file"; done; fi
 | 
					_source_dir_files "${BASEDIR}"/rc.before.d
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Source rc.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
 | 
					# Source alias definitions
 | 
				
			||||||
if [ -f "$HOME"/.bash_aliases ]; then source "$HOME"/.bash_aliases; fi
 | 
					_source_file_if_exists ~/.bash_aliases
 | 
				
			||||||
if [ -f "$HOME"/.bash/aliases ]; then source "$HOME"/.bash/aliases; fi
 | 
					_source_file_if_exists "${BASEDIR}"/aliases
 | 
				
			||||||
if [ -d "$HOME"/.bash/aliases ]; then for file in "$HOME"/.bash/aliases/*; do source "$file"; done; fi
 | 
					_source_dir_files "${BASEDIR}"/aliases
 | 
				
			||||||
if [ -d "$HOME"/.bash/aliases.d ]; then for file in "$HOME"/.bash/aliases.d/*; do source "$file"; done; fi
 | 
					_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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					_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
 | 
					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
 | 
						for alias in $(alias -p | awk '{print $2}' | awk -F= '{print $1}'); do complete -o default -F _complete_alias "$alias"; done
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Source bash completion definitions
 | 
					 | 
				
			||||||
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
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Late customization
 | 
					# Late customization
 | 
				
			||||||
if [ -d "$HOME"/.bash/rc.after.d ]; then for file in "$HOME"/.bash/rc.after.d/*; do source "$file"; done; fi
 | 
					_source_dir_files "${BASEDIR}"/rc.after.d
 | 
				
			||||||
 | 
					 | 
				
			||||||
# Restore option nullglob to normal
 | 
					 | 
				
			||||||
shopt -u nullglob
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										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
 | 
				
			||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
#!/bin/bash
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if (command -v mise &>/dev/null); then
 | 
					if (command -v mise &>/dev/null); then
 | 
				
			||||||
	source <(mise completion bash)
 | 
						source <(mise completion bash --include-bash-completion-lib)
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										0
									
								
								rc.after.d/.keep
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								rc.after.d/.keep
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										0
									
								
								rc.before.d/.keep
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								rc.before.d/.keep
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										10
									
								
								rc.d/tmux
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								rc.d/tmux
									
									
									
									
									
								
							@@ -8,13 +8,13 @@ if (command -v tmux &>/dev/null); then
 | 
				
			|||||||
      nb_sessions_attached=$(tmux list-session | grep -c "attached")
 | 
					      nb_sessions_attached=$(tmux list-session | grep -c "attached")
 | 
				
			||||||
      nb_sessions_detached=$(tmux list-session | grep -c -v "attached")
 | 
					      nb_sessions_detached=$(tmux list-session | grep -c -v "attached")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      echo_info "Found ${nb_sessions} tmux session(s)"
 | 
					      echo_info "tmux : found ${nb_sessions} session(s)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      echo " * ${nb_sessions_attached} attached"
 | 
					      echo "➤ ${nb_sessions_attached} session(s) attached"
 | 
				
			||||||
      tmux list-sessions | grep "attached" | sed -e 's/^/     - /'
 | 
					      tmux list-sessions | grep "attached" | sed -e 's/^/    • /'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      echo " * ${nb_sessions_detached} detached"
 | 
					      echo "➤ ${nb_sessions_detached} session(s) detached"
 | 
				
			||||||
      tmux list-sessions | grep -v "attached" | sed -e 's/^/     - /'
 | 
					      tmux list-sessions | grep -v "attached" | sed -e 's/^/    • /'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user