Upload files to "/"
This commit is contained in:
commit
2d4084ead3
1 changed files with 211 additions and 0 deletions
211
.zshrc
Normal file
211
.zshrc
Normal file
|
|
@ -0,0 +1,211 @@
|
|||
# **************************************************************************** #
|
||||
# #
|
||||
# ::: :::::::: #
|
||||
# .zshrc :+: :+: :+: #
|
||||
# +:+ +:+ +:+ #
|
||||
# By: abosc <abosc@42lehavre.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2026/06/15 16:19:14 by abosc #+# #+# #
|
||||
# Updated: 2026/06/15 16:19:14 by abosc ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
|
||||
# ==============================================================================
|
||||
# 1. CONFIGURATION D'OH-MY-ZSH
|
||||
# ==============================================================================
|
||||
export ZSH="$HOME/.oh-my-zsh"
|
||||
|
||||
ZSH_THEME="agnosterzak"
|
||||
|
||||
plugins=(
|
||||
git
|
||||
archlinux
|
||||
zsh-autosuggestions
|
||||
zsh-syntax-highlighting
|
||||
sudo
|
||||
copypath
|
||||
)
|
||||
|
||||
source $ZSH/oh-my-zsh.sh
|
||||
|
||||
# ==============================================================================
|
||||
# 2. OPTIONS DE CONFIGURATION DE BASE
|
||||
# ==============================================================================
|
||||
|
||||
# --- Gestion de l'historique ---
|
||||
HISTFILE=~/.zsh_history
|
||||
HISTSIZE=10000
|
||||
SAVEHIST=10000
|
||||
|
||||
setopt SHARE_HISTORY # Partage l'historique entre toutes les sessions ouvertes
|
||||
setopt HIST_IGNORE_DUPS # Ne pas enregistrer une commande si c'est la même que la précédente
|
||||
setopt HIST_IGNORE_ALL_DUPS # Supprime les lignes répétées de l'historique
|
||||
setopt HIST_REDUCE_BLANKS # Retire les espaces inutiles des commandes avant de les stocker
|
||||
setopt HIST_IGNORE_SPACE # Ne pas enregistrer les commandes commençant par un espace
|
||||
|
||||
# --- Complétion ---
|
||||
zstyle ':completion:*' menu select # Améliore la complétion (plus visuelle)
|
||||
|
||||
# ==============================================================================
|
||||
# 3. COMPOSANTS EXTERNES & UTILITAIRES (Fastfetch, FZF, Zoxide)
|
||||
# ==============================================================================
|
||||
|
||||
# Affichage des infos système au démarrage
|
||||
fastfetch --logo-type kitty --logo ~/.config/arch_logo.png --logo-width 30 --logo-height 14
|
||||
|
||||
# Raccourcis clavier FZF (CTRL+R pour l'historique flou)
|
||||
source <(fzf --zsh)
|
||||
|
||||
# Navigation intelligente avec Zoxide
|
||||
eval "$(zoxide init zsh)"
|
||||
|
||||
# ==============================================================================
|
||||
# 4. ALIAS
|
||||
# ==============================================================================
|
||||
|
||||
# Remplacement de 'cd' par 'z' (Zoxide)
|
||||
alias cd='z'
|
||||
|
||||
# Navigation rapide
|
||||
alias ..='cd ..'
|
||||
alias ...='cd ../..'
|
||||
alias ....='cd ../../..'
|
||||
alias pedago='cd /home/achille/Documents/work/dashboard_pedago'
|
||||
alias dash="cd /home/achille/Documents/work/dashboard_pedago"
|
||||
|
||||
# Amélioration de 'ls' via lsd
|
||||
alias ls='lsd --hyperlink=always'
|
||||
alias l='ls -l'
|
||||
alias la='ls -a'
|
||||
alias lla='ls -la'
|
||||
alias lt='ls --tree'
|
||||
alias lr='ls -R'
|
||||
|
||||
# Sécurité (Confirmations avant actions sensibles)
|
||||
alias rm='rm -i'
|
||||
alias cp='cp -i'
|
||||
alias mv='mv -i'
|
||||
|
||||
# Corrections de fautes de frappe courantes
|
||||
alias celar=clear
|
||||
alias cela=clear
|
||||
alias exot=exit
|
||||
alias clear='printf "\033c"'
|
||||
|
||||
# Raccourcis Système & Outils (Arch / Yay)
|
||||
alias up='yay -Syu'
|
||||
alias zrc='source ~/.zshrc'
|
||||
alias vi=vim
|
||||
alias kq="pkill quickshell"
|
||||
alias yays='yay -Ss' # Chercher un paquet sur les dépôts + AUR
|
||||
alias yayi='yay -S' # Installer un paquet
|
||||
alias yayr='yay -Rns' # Désinstaller proprement (avec dépendances et configs)
|
||||
alias yayc='yay -Yc' # Nettoyer les dépendances orphelines
|
||||
|
||||
# Python / Environnements virtuels
|
||||
alias prc='source .venv/bin/activate'
|
||||
alias p="prc && python3 src/main.py"
|
||||
alias py="prc && python3"
|
||||
alias convert="python3 /home/achille/Documents/work/utilities/svg_to_png.py"
|
||||
|
||||
# Projets spécifiques & Scripts
|
||||
alias retry="ruby /home/achille/Documents/work/Initiation/quick-retry/main.rb"
|
||||
|
||||
# Connexions (VPN & VM 42)
|
||||
alias vpn="sudo openvpn --config ~/Documents/VPN/nat-UDP4-1194-achille-config.ovpn"
|
||||
alias 42vm="kitty +kitten ssh -i ~/Documents/important_key/ssh_key -p 4222 ansible@PointsForProjects.42lehavre.fr"
|
||||
alias n8n="kitty +kitten ssh -i ~/Documents/important_key/ssh_key -p 4222 ansible@n8n.42lehavre.fr"
|
||||
alias cluster="kitty +kitten ssh -i ~/Documents/important_key/ssh_key -p 4222 ansible@ansiblecluster.42lehavre.fr"
|
||||
alias 42vmdb="kitty +kitten ssh -i ~/Documents/important_key/ssh_key -p 4222 -L 8000:localhost:8000 ansible@pointsforprojects.42lehavre.fr"
|
||||
alias ldap="kitty +kitten ssh -i ~/Documents/important_key/ssh_key -p 4222 ansible@ldap.42lehavre.fr"
|
||||
|
||||
|
||||
# ==============================================================================
|
||||
# 5. FONCTIONS CUSTOM
|
||||
# ==============================================================================
|
||||
|
||||
# Extraction automatique d'archives
|
||||
extract() {
|
||||
if [ -f $1 ] ; then
|
||||
case $1 in
|
||||
*.tar.bz2) tar xjf $1 ;;
|
||||
*.tar.gz) tar xzf $1 ;;
|
||||
*.bz2) bunzip2 $1 ;;
|
||||
*.rar) unrar x $1 ;;
|
||||
*.gz) gunzip $1 ;;
|
||||
*.tar) tar xf $1 ;;
|
||||
*.tbz2) tar xjf $1 ;;
|
||||
*.tgz) tar xzf $1 ;;
|
||||
*.zip) unzip $1 ;;
|
||||
*.Z) uncompress $1 ;;
|
||||
*.7z) 7z x $1 ;;
|
||||
*) echo "'$1' ne peut pas être extrait via extract()" ;;
|
||||
esac
|
||||
else
|
||||
echo "'$1' n'est pas un fichier valide"
|
||||
fi
|
||||
}
|
||||
|
||||
# Chercher un fichier et l'ouvrir directement dans Vim
|
||||
fo() {
|
||||
local file
|
||||
file=$(fzf --preview 'bat --style=numbers --color=always --line-range :500 {}') && vi "$file"
|
||||
}
|
||||
|
||||
# Créer et activer un venv Python instantanément
|
||||
mkenv() {
|
||||
python3 -m venv .venv && source .venv/bin/activate && pip install --upgrade pip
|
||||
}
|
||||
|
||||
# Créer un dossier ET entrer dedans directement
|
||||
# Plus besoin de faire 'mkdir super-projet' puis 'cd super-projet'
|
||||
mkcd() {
|
||||
mkdir -p "$1" && cd "$1"
|
||||
}
|
||||
|
||||
# Connaître instantanément ton IP publique et locale
|
||||
alias myip="echo 'Interne: ' && hostname -I | awk '{print $1}' && echo 'Publique: ' && curl -s ifconfig.me && echo ''"
|
||||
|
||||
# Générer un mot de passe aléatoire et sécurisé de 20 caractères (sans fioritures)
|
||||
alias genpass="openssl rand -base64 15"
|
||||
|
||||
# Un 'grep' amélioré qui affiche les numéros de ligne et de la couleur par défaut
|
||||
alias grep="grep --color=auto -n"
|
||||
|
||||
# Sauvegarde rapide : Ajoute tout, commit avec le message de ton choix, et push
|
||||
# Utilisation : gsave "Correction bug typo"
|
||||
gsave() {
|
||||
git add -A && git commit -m "$1" && git push
|
||||
}
|
||||
|
||||
# Revenir en arrière proprement (Annuler le dernier commit mais GARDER les modifications dans ton éditeur)
|
||||
alias undo="git reset --soft HEAD~1"
|
||||
|
||||
# Nettoyer les branches locales qui ont été fusionnées et supprimées sur GitHub/GitLab
|
||||
alias git-clean="git fetch -p && git branch -vv | awk '/: gone]/ {print \$1}' | xargs -r git branch -d"
|
||||
|
||||
# Voir la taille des dossiers du répertoire courant triés par taille (via lsd)
|
||||
# Idéal pour voir ce qui prend de la place en un coup d'œil
|
||||
alias du-folders="lsd -lh --total-size"
|
||||
|
||||
# Partager rapidement un fichier depuis ton terminal
|
||||
# Ça génère un lien de téléchargement temporaire (valide 14 jours)
|
||||
# Utilisation : share mon_rapport.pdf
|
||||
share() {
|
||||
curl --upload-file "$1" https://transfer.sh/$(basename "$1") && echo ""
|
||||
}
|
||||
|
||||
# Redémarrer Kitty proprement sans fermer toutes tes fenêtres en cours (Reload config)
|
||||
alias kitty-reload="kill -SIGUSR1 $(pgrep kitty)"
|
||||
|
||||
# ==============================================================================
|
||||
# 6. OVERRIDES ET FORCE-PASS (Placé à la fin pour bloquer Oh My Zsh)
|
||||
# ==============================================================================
|
||||
|
||||
# Horloge à droite du terminal (Heure:Minute:Seconde)
|
||||
RPROMPT='%F{242}%*%f'
|
||||
|
||||
# Force Zsh à corriger automatiquement SANS demander la confirmation [nyae]
|
||||
unsetopt correct
|
||||
setopt correct_all
|
||||
Loading…
Reference in a new issue