Compare commits
10 Commits
5cb8b5dfaf
...
master
Author | SHA1 | Date | |
---|---|---|---|
2aaf279c9e | |||
5b0012ffc1 | |||
af4fb0e5fa | |||
8fc95d8e90 | |||
a5dd0be77c | |||
981430eef1 | |||
c7be86ecb6 | |||
611bab8f2f | |||
333a7d8b46 | |||
c53e964ce9 |
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)
|
||||
then
|
||||
alias ls=lsd
|
||||
alias ls='lsd'
|
||||
alias lt='lsd --tree'
|
||||
fi
|
||||
|
56
bashrc
56
bashrc
@ -11,37 +11,51 @@ if [[ $- != *i* ]]; then
|
||||
return
|
||||
fi
|
||||
|
||||
# Safe loops for empty dirs
|
||||
shopt -s nullglob
|
||||
# DEBUG_BASHRC=true
|
||||
|
||||
# Determine path to directory of this file (FIX: remove dependency to readlink for posix compliance)
|
||||
BASEDIR=$(
|
||||
source_file=$(readlink -f "${BASH_SOURCE[0]}")
|
||||
source_dir=$(dirname "${source_file}")
|
||||
cd "${source_dir}" && pwd
|
||||
)
|
||||
|
||||
# Source some helpers functions
|
||||
source "${BASEDIR}/_helpers.bash"
|
||||
|
||||
# Source custom libs
|
||||
if [ -d "$HOME"/.bash/libs ]; then for lib in "$HOME"/.bash/libs/*.bash; do source "$lib"; done; fi
|
||||
_source_dir_files "${BASEDIR}"/libs
|
||||
|
||||
# Source 3rd party libs if they exists
|
||||
_source_file_if_exists "${BASEDIR}/3rd-party/complete-alias/complete_alias"
|
||||
# _source_file_if_exists "${BASEDIR}/3rd-party/z/z.sh" # FIX: Problème de gestion de la variable PROMPT_COMMAND
|
||||
|
||||
# Early customization
|
||||
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/*
|
||||
if [ -d "$HOME"/.bash/rc.d ]; then for file in "$HOME"/.bash/rc.d/*; do source "$file"; done; fi
|
||||
_source_dir_files "${BASEDIR}"/rc
|
||||
_source_dir_files "${BASEDIR}"/rc.d
|
||||
|
||||
# Source alias definitions
|
||||
if [ -f "$HOME"/.bash_aliases ]; then source "$HOME"/.bash_aliases; fi
|
||||
if [ -f "$HOME"/.bash/aliases ]; then source "$HOME"/.bash/aliases; fi
|
||||
if [ -d "$HOME"/.bash/aliases ]; then for file in "$HOME"/.bash/aliases/*; do source "$file"; done; fi
|
||||
if [ -d "$HOME"/.bash/aliases.d ]; then for file in "$HOME"/.bash/aliases.d/*; do source "$file"; done; fi
|
||||
_source_file_if_exists ~/.bash_aliases
|
||||
_source_file_if_exists "${BASEDIR}"/aliases
|
||||
_source_dir_files "${BASEDIR}"/aliases
|
||||
_source_dir_files "${BASEDIR}"/aliases.d
|
||||
|
||||
# Source bash completion definitions
|
||||
# TODO: Améliorer cette partie pour éviter les erreurs quand aucun fichier n'existe
|
||||
for file in /etc/bash*completion /etc/profile.d/bash*completion*; do source "$file"; done
|
||||
|
||||
_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
|
||||
|
||||
# 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
|
||||
if [ -d "$HOME"/.bash/rc.after.d ]; then for file in "$HOME"/.bash/rc.after.d/*; do source "$file"; done; fi
|
||||
|
||||
# Restore option nullglob to normal
|
||||
shopt -u nullglob
|
||||
_source_dir_files "${BASEDIR}"/rc.after.d
|
||||
|
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
|
||||
|
||||
if (command -v mise &>/dev/null); then
|
||||
source <(mise completion bash)
|
||||
source <(mise completion bash --include-bash-completion-lib)
|
||||
fi
|
||||
|
@ -1,15 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
function term_change_title
|
||||
{
|
||||
function term_change_title {
|
||||
case $TERM in
|
||||
# Change the window title of X terminals
|
||||
xterm*|rxvt*|urxvt*|Eterm)
|
||||
xterm* | rxvt* | urxvt* | Eterm)
|
||||
echo -ne "\033]0;${1}\007"
|
||||
;;
|
||||
|
||||
# Change the window title of screen terminals
|
||||
screen*)
|
||||
screen* | tmux*)
|
||||
echo -ne "\033k${1}\033\\"
|
||||
;;
|
||||
esac
|
||||
|
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
31
rc.d/fzf
Normal file
31
rc.d/fzf
Normal file
@ -0,0 +1,31 @@
|
||||
#!/bin/bash
|
||||
|
||||
if (command -v fzf &>/dev/null); then
|
||||
|
||||
source <(fzf --bash)
|
||||
|
||||
# Selection de fichiers
|
||||
export FZF_CTRL_T_OPTS="--height 60% \
|
||||
--border sharp \
|
||||
--layout reverse \
|
||||
--prompt ' ' \
|
||||
--pointer ❯ \
|
||||
--marker ✔"
|
||||
|
||||
# Navigation vers un répertoire
|
||||
export FZF_ALT_C_OPTS="--height 60% \
|
||||
--border sharp \
|
||||
--layout reverse \
|
||||
--prompt ' ' \
|
||||
--pointer ❯ \
|
||||
--marker ✔"
|
||||
|
||||
# Navigation dans l'historique
|
||||
export FZF_CTRL_R_OPTS="--height 60% \
|
||||
--border sharp \
|
||||
--layout reverse \
|
||||
--prompt ' ' \
|
||||
--pointer ❯ \
|
||||
--marker ✔"
|
||||
|
||||
fi
|
5
rc.d/zoxide
Normal file
5
rc.d/zoxide
Normal file
@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
if (command -v zoxide &>/dev/null); then
|
||||
eval "$(zoxide init bash)"
|
||||
fi
|
Reference in New Issue
Block a user