Ajouter README.md
This commit is contained in:
parent
6b3409ecba
commit
7f73eaa82b
|
|
@ -0,0 +1,313 @@
|
||||||
|
# 🚀 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 Docker
|
||||||
|
- `docker-compose` - Autocomplétion Docker Compose
|
||||||
|
- `sudo` - Double ESC pour préfixer avec sudo
|
||||||
|
- `history` - Gestion avancée de l'historique
|
||||||
|
- `colored-man-pages` - Pages man colorées
|
||||||
|
- `command-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** - `cat` avec coloration syntaxique
|
||||||
|
- **exa** - `ls` amélioré avec icônes et couleurs
|
||||||
|
|
||||||
|
## 📋 Prérequis
|
||||||
|
|
||||||
|
- Debian 12 (Bookworm)
|
||||||
|
- Accès root ou sudo
|
||||||
|
- Connexion internet
|
||||||
|
|
||||||
|
## 🚀 Installation
|
||||||
|
|
||||||
|
### Installation rapide
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 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
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://git.h3campus.fr/Johnny/Install_zsh.git
|
||||||
|
cd Install_zsh
|
||||||
|
chmod +x install_zsh.sh
|
||||||
|
sudo ./install_zsh.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
## ⚙️ Post-installation
|
||||||
|
|
||||||
|
1. **Déconnectez-vous et reconnectez-vous** pour activer Zsh
|
||||||
|
2. Au premier lancement, **l'assistant de configuration Powerlevel10k** se lance automatiquement
|
||||||
|
3. Suivez les instructions pour personnaliser votre prompt
|
||||||
|
|
||||||
|
### Reconfigurer Powerlevel10k
|
||||||
|
|
||||||
|
```bash
|
||||||
|
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
|
||||||
|
```bash
|
||||||
|
ll # ls -lah avec exa si disponible
|
||||||
|
la # ls -A
|
||||||
|
tree # exa --tree (si exa installé)
|
||||||
|
cat # bat avec coloration (si bat installé)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Git
|
||||||
|
```bash
|
||||||
|
gs # git status
|
||||||
|
ga # git add
|
||||||
|
gc # git commit
|
||||||
|
gp # git push
|
||||||
|
gl # git log --oneline --graph --decorate
|
||||||
|
```
|
||||||
|
|
||||||
|
### Docker
|
||||||
|
```bash
|
||||||
|
dps # docker ps
|
||||||
|
dpa # docker ps -a
|
||||||
|
di # docker images
|
||||||
|
dex # docker exec -it
|
||||||
|
```
|
||||||
|
|
||||||
|
### Maintenance
|
||||||
|
```bash
|
||||||
|
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 :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
update-zsh
|
||||||
|
```
|
||||||
|
|
||||||
|
Ou manuellement :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
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
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Sauvegarde locale
|
||||||
|
cp ~/.p10k.zsh ~/.p10k.zsh.backup
|
||||||
|
|
||||||
|
# Sauvegarde datée
|
||||||
|
cp ~/.p10k.zsh ~/p10k-backup-$(date +%Y%m%d).zsh
|
||||||
|
```
|
||||||
|
|
||||||
|
### Sauvegarder .zshrc
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cp ~/.zshrc ~/.zshrc.backup
|
||||||
|
```
|
||||||
|
|
||||||
|
### Synchroniser entre serveurs
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 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=()` :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
plugins=(
|
||||||
|
git
|
||||||
|
docker
|
||||||
|
# Ajoutez vos plugins ici
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Ajouter des aliases personnalisés
|
||||||
|
|
||||||
|
Ajoutez vos aliases à la fin de `~/.zshrc` :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
alias mon-alias='ma-commande'
|
||||||
|
```
|
||||||
|
|
||||||
|
Puis rechargez :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
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
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Vérifier le shell actuel
|
||||||
|
echo $SHELL
|
||||||
|
|
||||||
|
# Changer manuellement
|
||||||
|
chsh -s $(which zsh)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Les suggestions sont lentes
|
||||||
|
|
||||||
|
Ajoutez dans `~/.zshrc` :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ZSH_AUTOSUGGEST_USE_ASYNC=true
|
||||||
|
```
|
||||||
|
|
||||||
|
### Désactiver un plugin
|
||||||
|
|
||||||
|
Éditez `~/.zshrc` et retirez le plugin de la liste, puis :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
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 à :
|
||||||
|
|
||||||
|
1. Fork le projet
|
||||||
|
2. Créer une branche (`git checkout -b feature/amelioration`)
|
||||||
|
3. Commit vos changements (`git commit -m 'Ajout fonctionnalité'`)
|
||||||
|
4. Push vers la branche (`git push origin feature/amelioration`)
|
||||||
|
5. Ouvrir une Pull Request
|
||||||
|
|
||||||
|
## 📜 Licence
|
||||||
|
|
||||||
|
Ce projet est sous licence MIT. Voir le fichier [LICENSE](LICENSE) pour plus de détails.
|
||||||
|
|
||||||
|
## 🙏 Remerciements
|
||||||
|
|
||||||
|
- [Oh My Zsh](https://ohmyz.sh/)
|
||||||
|
- [Powerlevel10k](https://github.com/romkatv/powerlevel10k)
|
||||||
|
- [zsh-users](https://github.com/zsh-users) pour les plugins
|
||||||
|
- [Aloxaf](https://github.com/Aloxaf/fzf-tab) pour fzf-tab
|
||||||
|
|
||||||
|
## 📧 Support
|
||||||
|
|
||||||
|
Si vous rencontrez des problèmes ou avez des questions :
|
||||||
|
|
||||||
|
- Ouvrez une [issue](https://git.h3campus.fr/Johnny/Install_zsh/issues)
|
||||||
|
- Consultez la [documentation Oh My Zsh](https://github.com/ohmyzsh/ohmyzsh/wiki)
|
||||||
|
- Consultez la [documentation Powerlevel10k](https://github.com/romkatv/powerlevel10k)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Made with ❤️ for the Zsh community
|
||||||
Loading…
Reference in New Issue