Compare commits

...

65 Commits

Author SHA1 Message Date
Xavier Logerais
9e5fcc649e feat: Modification completion aws 2024-07-29 08:19:18 +00:00
Xavier Logerais
5d71c2aa96 feat: Ajout completion pour glab 2024-07-29 08:18:30 +00:00
Xavier Logerais
af4807ed97 feat: Amélioration de la librairie colors 2024-07-19 10:32:08 +00:00
Xavier Logerais
f41e1c2411 fix: Meilleure gestion de Nix dans le bash_profile 2024-07-18 09:26:38 +00:00
Xavier Logerais
c2c0a11402 feat: Corrections shellcheck 2024-06-28 10:28:56 +00:00
Xavier Logerais
268ad94470 feat: Désactivation de librairies obsolettes 2024-06-28 10:28:18 +00:00
Xavier Logerais
a6905b9489 feat: Suppression completion ssh obsolete 2024-06-28 09:44:32 +00:00
Xavier Logerais
84ffaf33d2 feat: Ajout alias pour taskwarrior-tui 2024-06-28 09:00:56 +00:00
Xavier Logerais
ce15f00b6f feat: Ajout automatique de la compltetion pour les aliases si _complete_alias est disponible 2024-06-28 08:32:11 +00:00
Xavier Logerais
cb323ec6c0 feat: Utilise nullglob pour éviter les erreurs de répertoires vides 2024-06-28 08:31:10 +00:00
Xavier Logerais
0c749a5fd0 feat: Définit des aliases plus génériques pour cd 2024-06-28 08:29:40 +00:00
Xavier Logerais
1338369be7 feat: Ajout completion pour kind 2024-06-24 09:24:49 +00:00
Xavier Logerais
9535c409e7 feat: Ajout completion pour podman 2024-06-24 09:24:32 +00:00
Xavier Logerais
a5671801de fix: Annulation déplacement de asdf et mise vers profile.d 2024-06-21 17:15:19 +00:00
Xavier Logerais
df6de3cdbb feat: Réécriture gestion des prompts dans rc.d 2024-06-21 16:49:23 +00:00
Xavier Logerais
f651195b22 fix: Correction activation ble.sh 2024-06-21 16:48:06 +00:00
Xavier Logerais
640df9986c fix: Correction gestion direnv lorsqu'il n'est pas installé via asdf 2024-06-21 16:47:07 +00:00
Xavier Logerais
2140f57862 feat: Ajout support ble.sh installé depuis Nix 2024-06-21 13:23:29 +00:00
Xavier Logerais
167be1c6a1 feat: Ajout support asdf-vm installé depuis Nix 2024-06-21 13:22:52 +00:00
Xavier Logerais
0b8bba8c9b feat: Meilleure gestion des applications par défaut 2024-06-21 13:21:56 +00:00
Xavier Logerais
8fcea3473a chore: Nettoyage configuration krew dans rc.d 2024-06-20 09:51:04 +00:00
Xavier Logerais
aa9835f8bd feat: shellcheck 2024-06-19 09:19:05 +00:00
Xavier Logerais
c9411bb43d feat: Ajout de krew dans $PATH si nécéssaire 2024-06-18 12:45:37 +00:00
Xavier Logerais
c9bb673a15 feat: Ajout completion pour mise 2024-06-18 12:44:05 +00:00
Xavier Logerais
ee3626059c feat: Déplacement initialisation mise de rc.d vers profile.d 2024-06-18 12:43:23 +00:00
Xavier Logerais
9fddab2e35 feat: Déplacement initialisation asdf de rc.d vers profile.d 2024-06-18 12:42:52 +00:00
Xavier Logerais
2fa4a55223 feat: Ajout d'aliases pour kubectl 2024-06-18 12:30:05 +00:00
Xavier Logerais
7f3f24e14d feat: Ajout support outil mise-en-place (https://mise.jdx.dev/) 2024-06-13 10:57:24 +02:00
Xavier Logerais
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
Xavier Logerais
fe6642402b Merge branch 'master' of https://github.com/xlogerais/config-bash 2023-11-02 15:19:40 +01:00
Xavier Logerais
a50a9359ad feat(aliases): désactivation de l'alias vim pointant vers lvim 2023-11-02 15:14:12 +01:00
Xavier Logerais
2fe787a370 feat(rc): Ajout d'une fonction de selection des branches git avec fzf 2023-11-02 15:12:25 +01:00
Xavier Logerais
d4c31d32d9 feat(aliases): Modification des aliases pour git 2023-11-02 15:11:48 +01:00
Xavier Logerais
5aad94e71b feat(aliases): Ajout alias pour lazygit 2023-11-02 15:09:54 +01:00
Xavier Logerais
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
Xavier Logerais
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
53 changed files with 434 additions and 252 deletions

View File

@ -1,6 +1,5 @@
alias cdrepo='cd ~/repositories/'
alias cddns='cd ~/repositories/dns && git pull'
alias cdfai='cd ~/repositories/fai && git pull'
alias cdpuppet='cd ~/repositories/puppet && git pull'
alias cdhiera='cd ~/repositories/hiera && git pull'
alias cdshinken='cd ~/repositories/shinken && git pull'
alias cdrepo='cd ~/Repositories/'
alias cdgitlab='cd ~/Repositories/Gitlab'
alias cdgithub='cd ~/Repositories/Github'
alias cdgl=cdgitlab
alias cdgh=cdgithub

View File

@ -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,29 +1,29 @@
#!/bin/bash
# Git
if [ -x /usr/bin/git ]
then
alias gs='git status'
alias ga='git add'
alias gc='git commit'
alias gca='git commit -a'
alias gu='git pull'
alias gp='git pull && git push'
alias gd='git diff'
alias gdc='git diff --cached'
alias gb='git branch'
alias gco='git checkout'
alias gw='git whatchanged'
alias gl='git log --graph'
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'
alias gdc='git diff --cached'
alias gb='git branch'
alias gco='git checkout'
alias gw='git whatchanged'
alias gl='git log --graph'
alias gstatus='git status'
alias glog='git log'
alias glast='git last'
alias gshow='git show'
alias gdiff='git diff'
alias gcommit='git commit'
alias gcommitall='git commit --all'
alias greset='git reset'
alias gpull='git pull'
alias gpush='git pull && git push'
alias gstatus='git status'
alias glog='git log'
alias glast='git last'
alias gshow='git show'
alias gdiff='git diff'
alias gcommit='git commit'
alias gcommitall='git commit --all'
alias greset='git reset'
alias gpull='git pull'
alias gpush='git pull && git push'
fi

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

15
aliases.d/kubectl Normal file
View File

@ -0,0 +1,15 @@
#!/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"
alias kuc="kubectl config unset current-context"
alias kun="kubectl config set-context --current --namespace="
alias kgworkers="kubectl get nodes --selector '!node-role.kubernetes.io/control-plane' --label-columns heat,topology.kubernetes.io/zone,topology.kubernetes.io/region --sort-by metadata.labels.heat"
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'
@ -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

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

View File

@ -1,8 +1,12 @@
#!/bin/bash
if [ -f $HOME/.bash/profile ]; then source $HOME/.bash/profile; fi
if [ -d $HOME/.bash/profile ]; then for file in $(ls $HOME/.bash/profile/*); do source $file; done; fi
if [ -d $HOME/.bash/profile.d ]; then for file in $(ls $HOME/.bash/profile.d/*); do source $file; done; fi
if [ -f "$HOME"/.nix-profile/etc/profile.d/hm-session-vars.sh ]; then
source "$HOME"/.nix-profile/etc/profile.d/hm-session-vars.sh
fi
if [ -f "$HOME"/.bash/profile ]; then source "$HOME"/.bash/profile; fi
if [ -d "$HOME"/.bash/profile ]; then for file in "$HOME"/.bash/profile/*; do source "$file"; done; fi
if [ -d "$HOME"/.bash/profile.d ]; then for file in "$HOME"/.bash/profile.d/*; do source "$file"; done; fi
# This file is sourced by bash for login shells. The following line
# runs your .bashrc and is recommended by the bash info pages.

38
bashrc
View File

@ -6,28 +6,42 @@
# Test for an interactive shell. There is no need to set anything
# past this point for scp and rcp, and it's important to refrain from
# outputting anything in those cases.
if [[ $- != *i* ]] ; then
if [[ $- != *i* ]]; then
# Shell is non-interactive. Be done now!
return
fi
# Safe loops for empty dirs
shopt -s nullglob
# Source custom libs
if [ -d $HOME/.bash/libs ]; then for lib in $(ls $HOME/.bash/libs/*.bash); do source $lib; done; fi
if [ -d "$HOME"/.bash/libs ]; then for lib in "$HOME"/.bash/libs/*.bash; do source "$lib"; done; fi
# Early customization
if [ -d "$HOME"/.bash/rc.before.d ]; then for file in "$HOME"/.bash/rc.before.d/*; do source "$file"; done; fi
# Source rc.d/*
if [ -d $HOME/.bash/rc.d ]; then for file in $(ls $HOME/.bash/rc.d/*); do source $file; done; fi
if [ -d "$HOME"/.bash/rc.d ]; then for file in "$HOME"/.bash/rc.d/*; do source "$file"; done; fi
# 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
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
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
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
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

View File

@ -1,6 +1,5 @@
#!/bin/bash
if ( which aws && which aws_completer ) &> /dev/null
then
if (command -v aws && command -v aws_completer) &>/dev/null; then
complete -C aws_completer aws
fi

5
completion.d/glab Normal file
View File

@ -0,0 +1,5 @@
#!/bin/bash
if (command -v glab &>/dev/null); then
source <(glab 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

5
completion.d/kind Normal file
View File

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

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

5
completion.d/podman Normal file
View File

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

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

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

View File

@ -1,94 +1,80 @@
#!/bin/bash
#ANSI CODES
#Code Effect
#0 All attributes off
#1 Bold
#2 Faint
#3 Italic
#4 Underline
#5 Blink
#6 Rapid blink
#7 Reverse video
#8 Concealed
#30 Black foreground
#31 Red foreground
#32 Green foreground
#33 Yellow foreground
#34 Blue foreground
#35 Magenta foreground
#36 Cyan foreground
#37 White foreground
#40 Black background
#41 Red background
#42 Green background
#43 Yellow background
#44 Blue background
#45 Magenta background
#46 Cyan background
#47 White background
#48 Subscript
#49 Superscript
#Code Effect
#0 All attributes off
#1 Bold
#2 Faint
#3 Italic
#4 Underline
#5 Blink
#6 Rapid blink
#7 Reverse video
#8 Concealed
#30 Black foreground
#31 Red foreground
#32 Green foreground
#33 Yellow foreground
#34 Blue foreground
#35 Magenta foreground
#36 Cyan foreground
#37 White foreground
#40 Black background
#41 Red background
#42 Green background
#43 Yellow background
#44 Blue background
#45 Magenta background
#46 Cyan background
#47 White background
#48 Subscript
#49 Superscript
#bold_on=`escape 1m`
#bold_off=`escape 22m`
#blink_on=`escape 5m`
#blink_off=`escape 25m`
#reset=`escape 0m`
#T_ROWS=`tput lines` # Define current terminal dimension
#T_COLS=`tput cols` #+ in rows and columns.
#_UNDERLINE_ON=`tput smul` # turn on underline
#_UNDERLINE_OFF=`tput rmul` # turn off underline
#tput setf 4 # tput setf {fg color number}
#tput setb 2 # tput setb {bg color number}
#tput setf 4 # tput setf {fg color number}
#tput setb 2 # tput setb {bg color number}
#tput bold - Bold effect
#tput tsmi - Italic
#tput rev - Display inverse colors
#tput sgr0 - Reset everything
default='\E[39;49;00m'
bold='\E[1m'
italic='\E[3m'
underline='\E[4m'
blink='\E[5m'
# Affiche un message stylisé sur la sortie standard
function echo_bold { echo -e "\e[1m${*}\e[0m"; }
function echo_faint { echo -e "\e[2m${*}\e[0m"; }
function echo_italic { echo -e "\e[3m${*}\e[0m"; }
function echo_underline { echo -e "\e[4m${*}\e[0m"; }
function echo_blink { echo -e "\e[5m${*}\e[0m"; }
function echo_reverse { echo -e "\e[7m${*}\e[0m"; }
function echo_concealed { echo -e "\e[8m${*}\e[0m"; }
blackonwhite='\E[30;47m'
# Affiche un message informatif stylisé sur la sortie d'erreur
function echo_info { >&2 echo -e "\e[00;34;49m󰋼 ${*}\e[39;49;00m"; }
function echo_warning { >&2 echo -e "\e[00;33;49m ${*}\e[39;49;00m"; }
function echo_error { >&2 echo -e "\e[00;01;31;49m ${*}\e[39;49;00m"; }
function echo_success { >&2 echo -e "\e[00;01;32;49m ${*}\e[39;49;00m"; }
function echo_failed { >&2 echo -e "\e[00;01;31;49m✖ ${*}\e[39;49;00m"; }
#reset=`escape 0m`
#black='\E[30;47m'
#red='\E[31;47m'
#green='\E[32;47m'
#yellow='\E[33;47m'
#blue='\E[34;47m'
#magenta='\E[35;47m'
#cyan='\E[36;47m'
#white='\E[37;47m'
#bold_on=`escape 1m`
#bold_off=`escape 22m`
#blink_on=`escape 5m`
#blink_off=`escape 25m`
function echo_reverse
{
echo -ne $blackonwhite
echo -ne "$*"
echo -e $default
}
function echo_italic
{
echo -ne $italic
echo -ne "$*"
echo -e $default
}
function echo_bold
{
echo -ne $bold
echo -ne "$*"
echo -e $default
}
function echo_underline
{
echo -ne $underline
echo -ne "$*"
echo -e $default
function echo_demo {
echo_bold bold
echo_faint faint
echo_italic italic
echo_underline underline
echo_blink blink
echo_reverse reverse
echo_concealed concealed
echo_info info
echo_warning warning
echo_error error
echo_success success
echo_failed failed
}

View File

@ -1,19 +1,19 @@
#!/bin/bash
note () {
note() {
# if file doesn't exist, create it
if [[ ! -f $HOME/.notes ]]; then
touch $HOME/.notes
touch "$HOME"/.notes
fi
if [[ $# -eq 0 ]]; then
# no arguments, print file
cat $HOME/.notes
cat "$HOME"/.notes
elif [[ "$1" == "-c" ]]; then
# clear file
echo "" > $HOME/.notes
echo "" >"$HOME"/.notes
else
# add all arguments to file
echo "$@" >> $HOME/.notes
echo "$@" >>"$HOME"/.notes
fi
}

View File

@ -1,21 +1,23 @@
#!/bin/bash
encpasswd() {
local password_clear=$1
local password_md5hash=$(openssl passwd -1 $password_clear)
local password_sha1=$(echo -n $password_clear | openssl dgst -sha1)
local password_clear=$1
local password_md5hash=$(openssl passwd -1 "$password_clear")
local password_sha1=$(echo -n "$password_clear" | openssl dgst -sha1)
echo "Password : $password_clear"
echo "MD5HASH : $password_md5hash"
echo "SHA1 : $password_sha1"
}
genpasswd() {
local l=$1
[ "$l" == "" ] && l=12
local password_clear=$(tr -dc A-Za-z0-9_ < /dev/urandom | head -c ${l} | xargs)
local password_md5hash=$(openssl passwd -1 $password_clear)
local password_sha1=$(echo -n $password_clear | openssl dgst -sha1)
local l=$1
[ "$l" == "" ] && l=12
local password_clear=$(tr -dc A-Za-z0-9_ </dev/urandom | head -c "${l}" | xargs)
local password_md5hash=$(openssl passwd -1 "$password_clear")
local password_sha1=$(echo -n "$password_clear" | openssl dgst -sha1)
local password_base64=$(echo -n "$password_clear" | base64)
echo "Password : $password_clear"
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,14 +1,12 @@
#!/bin/bash
function ssh_clean_known_hosts ()
{
if [ -z "$1" ]
then
function ssh_clean_known_hosts() {
if [ -z "$1" ]; then
echo "No arguments given. Cleaning ~/.ssh/known_hosts"
sed -i -e '/no hostip for proxy command/ d' ~/.ssh/known_hosts
else
hostname=$1
ip=$(ssh admin dig +short $1)
ip=$(ssh admin dig +short "$1")
echo "Removing host ${hostname} from ~/.ssh/known_hosts"
sed -i -e "/${hostname}/ d" ~/.ssh/known_hosts
echo "Removing ip ${ip} from ~/.ssh/known_hosts"

View File

@ -1,8 +1,24 @@
#!/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
export PAGER=less
# 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
export TERMINAL=kitty
# BROWSER
export BROWSER=firefox

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 +0,0 @@
#!/bin/bash
# Defined prefered applications
export XDG_RUNTIME_DIR=$HOME/.cache

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

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

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

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

16
rc.d/asdf Normal file
View File

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

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

16
rc.d/direnv Normal file
View 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
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

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

8
rc.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

49
rc.d/prompt Executable file → Normal file
View 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
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
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
;;
esac
# Limit the path to 3 levels
PROMPT_DIRTRIM=3

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