|
|
||
|---|---|---|
| .p10k.zsh | ||
| LICENCE | ||
| README.md | ||
| install_zsh.sh | ||
README.md
🚀 Installation automatique de Zsh avec Powerlevel10k pour Debian 12
Script d'installation complet et idempotent pour configurer un environnement Zsh moderne et productif sur Debian 12.
✨ Fonctionnalités
Ce script installe et configure automatiquement :
- ✅ Zsh - Shell moderne et puissant
- ✅ Oh My Zsh - Framework de gestion de configuration
- ✅ Powerlevel10k - Thème ultra-rapide et personnalisable
- ✅ Polices Nerd Fonts (MesloLGS NF) - Pour un affichage parfait des icônes
- ✅ Plugins essentiels - Autocomplétion, coloration, historique amélioré
- ✅ Outils modernes - fzf, ripgrep, bat, exa, fd-find
📦 Plugins installés
Plugins externes (via Git)
| Plugin | Description |
|---|---|
| zsh-autosuggestions | Suggestions basées sur l'historique (→ pour accepter) |
| zsh-syntax-highlighting | Coloration syntaxique des commandes |
| zsh-completions | Autocompletions supplémentaires |
| zsh-history-substring-search | Recherche dans l'historique avec ↑/↓ |
| fzf-tab | Complétion interactive avec prévisualisation |
Plugins Oh My Zsh intégrés
git- Aliases Git (gs, ga, gc, gp, gl...)docker- Autocomplétion Dockerdocker-compose- Autocomplétion Docker Composesudo- Double ESC pour préfixer avec sudohistory- Gestion avancée de l'historiquecolored-man-pages- Pages man coloréescommand-not-found- Suggestions de paquets
🛠️ Outils supplémentaires
- fzf - Recherche floue interactive (Ctrl+R)
- ripgrep - Recherche ultra-rapide dans les fichiers
- fd-find - Alternative moderne à
find - bat -
catavec coloration syntaxique - exa -
lsamélioré avec icônes et couleurs
📋 Prérequis
- Debian 12 (Bookworm)
- Accès root ou sudo
- Connexion internet
🚀 Installation
Installation rapide
# Télécharger le script
wget https://raw.giteausercontent.com/Johnny/Install_zsh/main/install_zsh.sh
# Rendre le script exécutable
chmod +x install_zsh.sh
# Exécuter pour l'utilisateur actuel
sudo ./install_zsh.sh
# Ou pour un utilisateur spécifique
sudo ./install_zsh.sh username
Installation via Git
git clone https://git.h3campus.fr/Johnny/Install_zsh.git
cd Install_zsh
chmod +x install_zsh.sh
sudo ./install_zsh.sh
⚙️ Post-installation
- Déconnectez-vous et reconnectez-vous pour activer Zsh
- Au premier lancement, l'assistant de configuration Powerlevel10k se lance automatiquement
- Suivez les instructions pour personnaliser votre prompt
Reconfigurer Powerlevel10k
p10k configure
Configuration SSH
Si vous utilisez SSH, configurez votre terminal local pour utiliser la police MesloLGS NF :
- Windows Terminal : Settings → Profiles → Defaults → Appearance → Font face → MesloLGS NF
- iTerm2 : Preferences → Profiles → Text → Font → MesloLGS NF
- VS Code : Settings → Terminal › Integrated: Font Family → MesloLGS NF
⌨️ Raccourcis clavier
| Raccourci | Action |
|---|---|
Ctrl + R |
Recherche floue dans l'historique (fzf) |
↑ / ↓ |
Recherche dans l'historique (substring) |
→ |
Accepter une suggestion |
ESC ESC |
Ajouter sudo à la commande |
Tab |
Complétion interactive avec prévisualisation |
🎨 Aliases inclus
Général
ll # ls -lah avec exa si disponible
la # ls -A
tree # exa --tree (si exa installé)
cat # bat avec coloration (si bat installé)
Git
gs # git status
ga # git add
gc # git commit
gp # git push
gl # git log --oneline --graph --decorate
Docker
dps # docker ps
dpa # docker ps -a
di # docker images
dex # docker exec -it
Maintenance
update-zsh # Mettre à jour Oh My Zsh et tous les plugins
zshconfig # Éditer ~/.zshrc
🔄 Mise à jour
Pour mettre à jour Oh My Zsh et tous les plugins :
update-zsh
Ou manuellement :
omz update
cd ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions && git pull
cd ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting && git pull
cd ~/.oh-my-zsh/custom/plugins/zsh-completions && git pull
cd ~/.oh-my-zsh/custom/plugins/fzf-tab && git pull
cd ~/.oh-my-zsh/custom/themes/powerlevel10k && git pull
💾 Sauvegarde de la configuration
Sauvegarder Powerlevel10k
# Sauvegarde locale
cp ~/.p10k.zsh ~/.p10k.zsh.backup
# Sauvegarde datée
cp ~/.p10k.zsh ~/p10k-backup-$(date +%Y%m%d).zsh
Sauvegarder .zshrc
cp ~/.zshrc ~/.zshrc.backup
Synchroniser entre serveurs
# Depuis le serveur source
scp ~/.p10k.zsh ~/.zshrc user@serveur-destination:~/
# Ou avec Git (recommandé)
mkdir -p ~/dotfiles
cp ~/.p10k.zsh ~/.zshrc ~/dotfiles/
cd ~/dotfiles
git init
git add .
git commit -m "Initial dotfiles"
git remote add origin https://github.com/USERNAME/dotfiles.git
git push -u origin main
🔧 Personnalisation
Modifier les plugins
Éditez ~/.zshrc et modifiez la section plugins=() :
plugins=(
git
docker
# Ajoutez vos plugins ici
)
Ajouter des aliases personnalisés
Ajoutez vos aliases à la fin de ~/.zshrc :
alias mon-alias='ma-commande'
Puis rechargez :
source ~/.zshrc
# ou
exec zsh
🐛 Dépannage
Les icônes ne s'affichent pas correctement
- Vérifiez que votre terminal utilise la police MesloLGS NF
- Redémarrez votre terminal après avoir changé la police
Zsh n'est pas le shell par défaut
# Vérifier le shell actuel
echo $SHELL
# Changer manuellement
chsh -s $(which zsh)
Les suggestions sont lentes
Ajoutez dans ~/.zshrc :
ZSH_AUTOSUGGEST_USE_ASYNC=true
Désactiver un plugin
Éditez ~/.zshrc et retirez le plugin de la liste, puis :
source ~/.zshrc
📝 Structure des fichiers
~/
├── .zshrc # Configuration principale Zsh
├── .p10k.zsh # Configuration Powerlevel10k
├── .oh-my-zsh/ # Framework Oh My Zsh
│ └── custom/
│ ├── plugins/ # Plugins personnalisés
│ │ ├── zsh-autosuggestions/
│ │ ├── zsh-syntax-highlighting/
│ │ ├── zsh-completions/
│ │ ├── zsh-history-substring-search/
│ │ └── fzf-tab/
│ └── themes/
│ └── powerlevel10k/ # Thème Powerlevel10k
└── .local/share/fonts/ # Polices MesloLGS NF
🤝 Contribution
Les contributions sont les bienvenues ! N'hésitez pas à :
- Fork le projet
- Créer une branche (
git checkout -b feature/amelioration) - Commit vos changements (
git commit -m 'Ajout fonctionnalité') - Push vers la branche (
git push origin feature/amelioration) - Ouvrir une Pull Request
📜 Licence
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
🙏 Remerciements
- Oh My Zsh
- Powerlevel10k
- zsh-users pour les plugins
- Aloxaf pour fzf-tab
📧 Support
Si vous rencontrez des problèmes ou avez des questions :
- Ouvrez une issue
- Consultez la documentation Oh My Zsh
- Consultez la documentation Powerlevel10k
Made with ❤️ for the Zsh community