Ce dépôt contient la configuration complète de mon environnement shell, basé sur ZSH, avec un accent particulier pour le développement Python: gestion des outils comme pyenv, poetry, et uv. J'utilise le terminal kitty avec une configuration personnalisée que j'allie à une configuration toute aussi personnalisée de Neovim : cf. NeoPyVim et le plugin pyflowenv-nvim.
.
├── kitty.conf # Configuration du terminal Kitty
├── README.md # Documentation du dépôt (ce fichier)
├── zshrc # Fichier principal de configuration ZSH
└── zsh_functions/ # Fonctions ZSH personnalisées
├── devtools.zsh # Mise à jour automatisée des outils Python
├── path.zsh # Configuration personnalisée des chemins
├── poetry # (Placeholder ou futur script lié à Poetry)
└── pyenv.zsh # Initialisation de pyenvLe fichier .zshrc configure :
- 🎨 Un prompt personnalisé avec date, heure, chemin, environnement virtuel, et état Git
- Zinit comme gestionnaire de plugins ZSH
- 🧠 Fonctions shell personnalisées (
update-devtools,aptiup, etc.) - 🐍 Environnement Python :
pyenv,poetry,uv, et leur mise à jour automatique - 🔄 Mises à jour hebdomadaires de Zinit et des outils de dev
- 📦 Alias utiles, complétions automatiques, et options du shell
Contient la fonction update-devtools, qui met à jour pyenv et ses plugins, ainsi que poetry (via poetry self update) et uv (via le script officiel Astral.sh).
🗓️ Une fois par semaine, update-devtools est appelé automatiquement lors du démarrage du shell grâce à la fonction devtools_auto_update.
Configure ou ajuste les chemins d'exécution ($PATH, etc.).
Script d'initialisation spécifique à pyenv, chargé au démarrage pour s’assurer que les versions Python installées via pyenv sont disponibles dans l’environnement shell.
Le fichier .zshrc utilise Zinit pour gérer les plugins :
| Plugin | Description |
|---|---|
zsh-users/zsh-autosuggestions |
Suggestions de commandes depuis l’historique |
zsh-users/zsh-syntax-highlighting |
Coloration syntaxique temps réel |
zsh-users/zsh-completions |
Complétion enrichie pour de nombreux outils |
🛠️ Zinit et tous les plugins sont mis à jour automatiquement chaque semaine (zinit_auto_update).
update-devtools(dansdevtools.zsh) : Met à jour pyenv, poetry, et uv. Appelée automatiquement chaque semaine.aptiup: Met à jour la base de paquets et lanceaptitudeuniquement si des mises à jour sont disponibles.zinitup: Met à jour manuellement zinit et tous les plugins.
| Alias | Description |
|---|---|
apti |
Raccourci pour sudo aptitude |
aptiup |
Mise à jour conditionnelle via aptitude |
cleanapt |
Nettoyage de aptitude autoclean && clean |
dotfiles |
Accès rapide au dépôt de dotfiles |
pyt |
Lance python3 |
lua |
Lance lua5.4 |
lsa |
Raccourci pour ls -la |
icat |
Utilise kitten icat pour afficher des images |
adios |
Éteint le système via systemctl poweroff |
reboot |
Redémarre le système |
Le fichier kitty.conf contient la configuration pour le terminal Kitty. Cette configuration inclut des réglages comme :
- L'utilisation du thème Nord
- Le rendu graphique
- etc.
Pour profiter pleinement de cette configuration, il est nécessaire d'installer préalablement :
- ZSH
- Zinit
- pyenv
- poetry
- uv
- aptitude (Sous Debian/Ubuntu)
- Terminal Kitty
git clone https://github.com/<ton-nom-utilisateur>/dotfiles ~/dotfiles
ln -sf ~/dotfiles/zshrc ~/.zshrc
source ~/.zshrc