Compare commits

..

43 Commits

Author SHA1 Message Date
c9411bb43d feat: Ajout de krew dans $PATH si nécéssaire 2024-06-18 12:45:37 +00:00
c9bb673a15 feat: Ajout completion pour mise 2024-06-18 12:44:05 +00:00
ee3626059c feat: Déplacement initialisation mise de rc.d vers profile.d 2024-06-18 12:43:23 +00:00
9fddab2e35 feat: Déplacement initialisation asdf de rc.d vers profile.d 2024-06-18 12:42:52 +00:00
2fa4a55223 feat: Ajout d'aliases pour kubectl 2024-06-18 12:30:05 +00:00
7f3f24e14d feat: Ajout support outil mise-en-place (https://mise.jdx.dev/) 2024-06-13 10:57:24 +02:00
45914bdb5a feat: Amélioration configuration McFly 2024-06-13 10:56:39 +02:00
710ad109cc feat: Amélioration configuration pour Taskwarrior 2024-02-29 15:19:54 +01:00
0b9532e95b feat(libs): Amélioration de la fonction genpasswd 2024-01-27 19:25:26 +01:00
704c4cdd9e fix(libs): Correction de la fonction _prompt_command_add 2024-01-27 19:23:31 +01:00
df8172f138 feat(aliases): Amélioration des aliases pour lazygit et lsd 2024-01-27 19:14:59 +01:00
66c57a0a51 fix: Fix PROMPT_COMMAND management 2024-01-27 19:04:33 +01:00
fe6642402b Merge branch 'master' of https://github.com/xlogerais/config-bash 2023-11-02 15:19:40 +01:00
a50a9359ad feat(aliases): désactivation de l'alias vim pointant vers lvim 2023-11-02 15:14:12 +01:00
2fe787a370 feat(rc): Ajout d'une fonction de selection des branches git avec fzf 2023-11-02 15:12:25 +01:00
d4c31d32d9 feat(aliases): Modification des aliases pour git 2023-11-02 15:11:48 +01:00
5aad94e71b feat(aliases): Ajout alias pour lazygit 2023-11-02 15:09:54 +01:00
33c51aa0a6 feat(aliases): Ajout alias pour lsd 2023-11-02 15:09:28 +01:00
7836bb1761 feat: Ajout alias pour gopass 2023-08-31 13:16:03 +00:00
6aec2fe66f feat(profile): Remove xdg config
Remove xdg specific config that break some apps (firefox, chromium,...)
on Ubuntu 22.04+
2023-08-27 18:16:52 +02:00
07756ac711 feat(rc): Add support for broot 2023-08-27 16:35:35 +02:00
8d5f8950db feat(aliases): Add condition for fun/starwars 2023-08-27 16:33:47 +02:00
c04d8876a3 feat(rc): Improve powerline prompt 2023-08-27 16:31:17 +02:00
c8442dabc0 feat(aliases): Delete obsolete aliases for mutt 2023-08-27 16:30:13 +02:00
7176baf0bc Merge branch 'master' of https://gogs.logerais.com/xavier/config-bash 2023-04-03 10:46:33 +02:00
18ce1f6d7e feat: Support completion poetry 2023-04-03 10:45:44 +02:00
058c4f473c feat: support lvim/nvim pour les alias vim 2023-04-03 10:45:05 +02:00
1e20a91e84 feat: Ajout support broot 2023-04-03 10:43:57 +02:00
0e58fa99f4 feat: refacto aliases/completion kubectl, helm, stern 2023-04-03 10:38:42 +02:00
ece4edeb18 feat: Improve powerline support 2022-12-13 12:08:41 +01:00
2cae0f7d03 feat: improve powerline support 2022-12-13 12:04:08 +01:00
217eb70b58 update 2022-09-22 18:32:56 +02:00
e2920cab80 feat: Add alias for lsd 2022-05-21 15:04:45 +02:00
2ecb4c53fa feat: improve config for powerline, mcfly and (n)vim 2022-05-21 02:41:24 +02:00
c58348a679 Merge branch 'master' of github.com:xlogerais/config-bash 2021-05-02 21:45:19 +02:00
ba9ad2784c feat: update rc.d/prompt 2021-05-02 21:44:06 +02:00
a6948a056a fix: move asdf and direnv from profile.d back to rc.d 2021-05-02 21:15:29 +02:00
554f8a4db8 feat: add direnv support 2021-05-02 00:26:45 +02:00
a67d6448e9 feat: move asdf to profile.d 2021-05-02 00:26:28 +02:00
616bbba449 feat: remove unnecessary exec flag on rc.d files 2021-04-23 12:58:26 +02:00
b1b8a4b3f9 feat: add support for some kubernetes tools 2021-04-23 12:57:08 +02:00
5904b2693a feat: Add asdf 2021-04-03 19:36:17 +02:00
cc25e775d3 Add config for kubectl and krew 2020-11-18 12:44:46 +01:00
41 changed files with 286 additions and 148 deletions

View File

@ -1,7 +1,7 @@
#!/bin/bash
# Colors
alias ls='ls -G'
alias ls='ls --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'

View File

@ -3,4 +3,7 @@
# Fun
alias matrix='tr -c "[:digit:]" " " < /dev/urandom | dd cbs=$COLUMNS conv=unblock | GREP_COLOR="1;32" grep --color "[^ ]"'
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'
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

View File

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

@ -0,0 +1,6 @@
#!/bin/bash
if (command -v 'gopass' && ! command -v pass ) &> /dev/null
then
alias pass='gopass'
fi

16
aliases.d/kubectl Normal file
View File

@ -0,0 +1,16 @@
#!/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 kga="kubectl get --all-namespaces"
# add completion for the alias as well
complete -o default -F __start_kubectl k
complete -o default -F __start_kubectl ks
fi

6
aliases.d/lazygit Normal file
View File

@ -0,0 +1,6 @@
#/bin/bash
if (command -v lazygit &> /dev/null)
then
alias lg=lazygit
fi

6
aliases.d/lsd Normal file
View File

@ -0,0 +1,6 @@
#!/bin/bash
if (command -v lsd &> /dev/null)
then
alias ls=lsd
fi

View File

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

@ -0,0 +1,7 @@
#!/bin/bash
# Vim Editor
if [ -x ~/AppImages/nvim.appimage ]
then
alias nvim='~/AppImages/nvim.appimage'
fi

View File

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

View File

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

2
bashrc
View File

@ -24,7 +24,7 @@ if [ -d $HOME/.bash/aliases ]; then for file in $(ls $HOME/.bash/aliases/*); do
if [ -d $HOME/.bash/aliases.d ]; then for file in $(ls $HOME/.bash/aliases.d/*); do source $file; done; fi
# Source bash completion definitions
#for file in /etc/bash*completion /etc/profile.d/bash*completion* ; do source $file ; done
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

6
completion.d/helm Normal file
View File

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

View File

@ -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/mise Normal file
View File

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

6
completion.d/poetry Normal file
View File

@ -0,0 +1,6 @@
#!/bin/bash
if ( command -v poetry &> /dev/null )
then
source <(poetry completions bash)
fi

View File

@ -1,10 +1,10 @@
#!/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
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
View 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
View File

@ -0,0 +1,7 @@
#
# Completion for taskwarrior
#
if (command -v task &> /dev/null)
then
complete -o nospace -F _task t
fi

View File

@ -14,8 +14,10 @@ genpasswd() {
[ "$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_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"
}

9
libs/path.bash Normal file
View 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/prompt_command.bash Normal file
View 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

View File

@ -1,7 +1,5 @@
#!/bin/bash
which virsh || return &> /dev/null
hypervisor_connect() {
if [ -e "${1}" ]; then echo "Usage : $0 hypervisor_name_or_ip"; return 1; fi

View File

@ -1,8 +1,8 @@
#!/bin/bash
# Defined prefered applications
export TERMINAL=urxvtc
export TERMINAL=kitty
export PAGER=less
export EDITOR=vim
export BROWSER=surf
export EDITOR=nvim
export BROWSER=firefox

11
profile.d/asdf Normal file
View File

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

5
profile.d/krew Normal file
View File

@ -0,0 +1,5 @@
#!/bin/bash
if (command -v krew &>/dev/null); then
export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"
fi

View File

@ -1,4 +1,4 @@
#!/bin/bash
# Define prefered LANG
export LANG=fr_FR.UTF-8
export LANG=fr_FR.utf8

8
profile.d/mise Normal file
View 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

View File

@ -1,4 +0,0 @@
#!/bin/bash
# Defined prefered applications
export XDG_RUNTIME_DIR=$HOME/.cache

23
rc.d/broot Normal file
View 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
View File

View File

@ -1,6 +1,24 @@
#!/bin/bash
if (which -s direnv)
if ( which asdf &> /dev/null )
then
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
fi
elif ( which direnv &> /dev/null )
then
# Hook direnv into your shell.
eval "$(direnv hook bash)"
fi

5
rc.d/git Normal file
View 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

6
rc.d/krew Normal file
View File

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

10
rc.d/lsd Normal file
View 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
View File

@ -0,0 +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)"
fi

View File

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

44
rc.d/prompt Executable file → Normal file
View File

@ -2,36 +2,46 @@
# Customize the prompt
# Limit the path to 3 levels
PROMPT_DIRTRIM=3
POWERLINE_LOCATION=$(command -v powerline-go || command -v powerline) &>/dev/null
POWERLINE=$(basename "$POWERLINE_LOCATION")
if [ "${POWERLINE}" = "powerline-go" ]; then
# Use powerline-go if availaible
echo "Using $POWERLINE"
# -modules string
# The list of modules to load, separated by ','
# (valid choices: aws, cwd, docker, dotenv, duration, exit, git, gitlite, hg, host, jobs, kube, load, newline, nix-shell, node, perlbrew, perms, root, shell-var, ssh, svn, termtitle, terraform-workspace, time, user, venv, vgo)
# (default "nix-shell,venv,user,host,ssh,cwd,perms,git,hg,jobs,exit,root,vgo")
# -modules-right string
# The list of modules to load anchored to the right, for shells that support it, separated by ','
# (valid choices: aws, cwd, docker, dotenv, duration, exit, git, gitlite, hg, host, jobs, kube, load
if (which powerline-go &> /dev/null); then
function _update_ps1() {
#eval $(powerline-go -shell bash -mode patched -modules "nix-shell,cwd,perms,jobs,git,venv,docker,kube,aws" -modules-right "exit,ssh,user,host" -newline -error $? -eval)
eval $(powerline-go -shell bash -mode patched -modules "nix-shell,cwd,perms,jobs,git,venv,aws,docker,kube,exit" -newline -error $? -eval)
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
export PROMPT_COMMAND="_update_ps1; $PROMPT_COMMAND"
fi
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
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
# Limit the path to 3 levels
PROMPT_DIRTRIM=3
# Add a smiley at end of prompt showing last command status code
#smiley() {
# ret_val=$?

0
rc.d/screen Executable file → Normal file
View File

0
rc.d/tmux Executable file → Normal file
View File

0
rc.d/urxvt Executable file → Normal file
View File