Environnement terminal complet aux couleurs violet-chaton pour Pop!_OS / Ubuntu avec COSMIC Desktop. Inclut scripts d'installation, configs shell, thèmes et support COSMIC/Vivaldi/Vesktop.
340 lines
12 KiB
Markdown
340 lines
12 KiB
Markdown
# violet-chaton — setup automatique
|
||
|
||
Environnement terminal complet aux couleurs violet-chaton, pensé pour Pop!_OS / Ubuntu avec COSMIC Desktop.
|
||
(Bonus thème Vesktop / Discord)
|
||
|
||
---
|
||
|
||
## Démarrage rapide
|
||
|
||
```bash
|
||
bash install.sh
|
||
```
|
||
|
||
Un menu s'affiche. Choisis **1** pour une installation complète.
|
||
|
||
---
|
||
|
||
## Prérequis
|
||
|
||
- **Distribution :** Debian, Ubuntu, Pop!_OS (ou dérivé apt)
|
||
- **Droits :** compte avec `sudo`
|
||
- **Connexion internet** (téléchargement des binaires)
|
||
- **Outils de base :**
|
||
|
||
```bash
|
||
sudo apt install -y curl git unzip
|
||
```
|
||
|
||
> Pour COSMIC Desktop : Pop!_OS 24.04 ou supérieur.
|
||
|
||
---
|
||
|
||
## Ce que fait le script — étape par étape
|
||
|
||
### Étape 1 — Paquets apt (`01-packages-apt.sh`)
|
||
|
||
Installe les outils via le gestionnaire de paquets système :
|
||
|
||
| Outil | Rôle |
|
||
|------------------|------|
|
||
| `zsh` | Shell principal (remplace bash) |
|
||
| `eza` | Remplacement de `ls` avec icônes et couleurs |
|
||
| `bat` | Remplacement de `cat` avec coloration syntaxique |
|
||
| `fd-find` | Remplacement de `find`, plus rapide et intuitif |
|
||
| `fzf` | Fuzzy finder — recherche floue de fichiers et dossiers |
|
||
| `zoxide` | Remplacement de `cd` avec mémoire des dossiers fréquents |
|
||
| `git-delta` | Pager git avec diff coloré côte à côte |
|
||
| `vivid` | Générateur de LS_COLORS |
|
||
| `ripgrep` | Remplacement de `grep`, très rapide |
|
||
| `ncdu` | Analyse d'espace disque en TUI |
|
||
| `thefuck` | Correction automatique de la dernière commande ratée |
|
||
| `lolcat` | Arc-en-ciel sur n'importe quel output |
|
||
| `cbonsai` | Bonsaï ASCII animé |
|
||
| `chafa` | Affichage d'images dans le terminal (logo fastfetch) |
|
||
| `cava` | Visualiseur audio animé |
|
||
| `btop` | Moniteur système en TUI |
|
||
| `nemo` | Explorateur de fichiers GUI |
|
||
| `jq` | Processeur JSON en ligne de commande |
|
||
| `vivaldi-stable` | Navigateur — dépôt officiel ajouté automatiquement |
|
||
| `gh` | CLI GitHub (auth, PR, issues) — dépôt officiel ajouté automatiquement |
|
||
| `cmatrix` | Pluie de caractères style Matrix |
|
||
| `toilet` | Texte en gros ASCII art coloré (bannières dans le terminal) |
|
||
| `w3m` | Navigateur web en mode texte dans le terminal |
|
||
| `jp2a` | Conversion d'images JPEG/PNG en ASCII art |
|
||
| `qalc` | Calculatrice CLI — unités, conversions, expressions complexes |
|
||
|
||
Définit aussi **zsh comme shell par défaut** via `chsh`.
|
||
|
||
---
|
||
|
||
### Étape 2 — Binaires manuels (`02-packages-manual.sh`)
|
||
|
||
Télécharge les versions les plus récentes depuis GitHub et les installe dans `~/.local/bin/` :
|
||
|
||
| Outil | Rôle |
|
||
|--------------|------|
|
||
| `lazygit` | Interface git complète en TUI (`lg`) |
|
||
| `yazi` | Gestionnaire de fichiers en TUI |
|
||
| `glow` | Rendu Markdown dans le terminal |
|
||
| `tldr` | Man pages simplifiées avec exemples (tealdeer) |
|
||
| `navi` | Cheatsheets interactives |
|
||
| `pipes.sh` | Animation de tuyaux dans le terminal |
|
||
| `fastfetch` | Infos système au démarrage du terminal — `.deb` depuis GitHub |
|
||
| `uv` / `uvx` | Gestionnaire de paquets Python ultra-rapide — script officiel astral.sh |
|
||
|
||
Installe également :
|
||
- **starship** et **atuin** via leurs scripts officiels
|
||
- **zinit** (gestionnaire de plugins zsh) via git clone
|
||
- **Nerd Fonts** — JetBrainsMono NL et 0xProto, vers `~/.local/share/fonts/NerdFonts/`
|
||
- **candy-icons** — thème d'icônes, vers `~/.local/share/icons/candy-icons-master/`
|
||
|
||
> **nomachine** — à installer manuellement depuis [nomachine.com](https://www.nomachine.com/download) (comme VSCode et Vesktop)
|
||
|
||
Met à jour le cache des pages tldr et le cache de polices (`fc-cache`).
|
||
|
||
---
|
||
|
||
### Étape 3 — Déploiement des configs et thèmes (`03-deploy-configs.sh`)
|
||
|
||
Copie les fichiers de config et thèmes aux bons emplacements.
|
||
|
||
Avant chaque déploiement, les fichiers existants sont sauvegardés dans :
|
||
```
|
||
~/.config/violet-chaton-backups/YYYYMMDD-HHMMSS/
|
||
```
|
||
Le chemin exact est affiché à la fin du script si des fichiers ont été sauvegardés.
|
||
|
||
**Configs shell :**
|
||
- `~/.zshrc` — configuration zsh complète
|
||
- `~/.bashrc` — configuration bash minimale (PATH + `exec zsh`)
|
||
- `~/.gitconfig` — git avec delta comme pager
|
||
|
||
> `user.name` et `user.email` présents dans le gitconfig existant sont **automatiquement préservés** après le déploiement.
|
||
|
||
**Configs outils :**
|
||
- `~/.config/starship.toml` — prompt 2 lignes violet-chaton
|
||
- `~/.config/bat/config` — thème violet-chaton, style header
|
||
- `~/.config/btop/btop.conf` — moniteur avec thème violet-chaton
|
||
- `~/.config/fastfetch/config.jsonc` — modules système + logo chafa
|
||
- `~/.config/atuin/config.toml` — historique fuzzy, colonnes, thème
|
||
- `~/.config/lazygit/config.yml` — couleurs violet-chaton + delta
|
||
- `~/.config/yazi/yazi.toml` — config gestionnaire de fichiers
|
||
- `~/.config/glow/glow.yml` — style markdown dark
|
||
|
||
**Thèmes CLI :**
|
||
- `~/.config/bat/themes/violet-chaton.tmTheme`
|
||
- `~/.config/btop/themes/violet-chaton.theme`
|
||
- `~/.config/atuin/themes/violet-chaton.toml`
|
||
- `~/.config/cava/config`
|
||
- `~/.config/yazi/theme.toml`
|
||
- `~/.config/vesktop/themes/violet-chaton.theme.css` — Vesktop natif (toujours déployé)
|
||
- `~/.var/app/dev.vencord.Vesktop/config/vesktop/themes/` — Vesktop Flatpak (si installé)
|
||
|
||
**GTK3 et Nemo :**
|
||
- `~/.config/gtk-3.0/gtk.css` — thème GTK3 violet-chaton (Nemo et applications GTK)
|
||
- Nemo défini comme gestionnaire de fichiers par défaut (`xdg-mime`)
|
||
- Préférences Nemo appliquées via `gsettings` : vue icônes, miniatures, zoom standard
|
||
- Thème d'icônes **candy-icons** activé via `gsettings`
|
||
|
||
**COSMIC Desktop (entièrement automatique) :**
|
||
- `~/.config/cosmic/com.system76.CosmicTheme.Dark/v1/` — palette violet-chaton complète
|
||
- `~/.config/cosmic/com.system76.CosmicTheme.Mode/v1/is_dark` — mode sombre activé
|
||
- `~/.config/cosmic/com.system76.CosmicTerm/v1/` — police JetBrains Mono, couleurs, profil
|
||
- `~/.config/cosmic/com.system76.CosmicTk/v1/` — icônes candy-icons, polices UI 0xProto
|
||
|
||
**Vivaldi (avec pause de sécurité) :**
|
||
- Si Vivaldi n'a pas encore été lancé, le script s'arrête et demande de le démarrer une fois
|
||
- Le thème **Rice Violet-Chaton** est ensuite injecté directement dans `~/.config/vivaldi/Default/Preferences`
|
||
|
||
Reconstruit également le **cache bat** pour activer le thème de coloration syntaxique.
|
||
|
||
---
|
||
|
||
## Étapes manuelles après installation
|
||
|
||
### zinit — premier démarrage
|
||
|
||
Au premier lancement de zsh, zinit télécharge automatiquement les plugins :
|
||
- `zsh-autosuggestions` — suggestions en gris au fil de la frappe
|
||
- `zsh-syntax-highlighting` — coloration des commandes en temps réel
|
||
- `zsh-completions` — complétion étendue
|
||
|
||
Cela peut prendre quelques secondes lors du tout premier démarrage.
|
||
|
||
### Polices — vérification
|
||
|
||
Si les icônes ne s'affichent pas correctement dans le terminal, forcer la reconstruction du cache de polices :
|
||
|
||
```bash
|
||
fc-cache -f -v
|
||
```
|
||
|
||
Puis sélectionner **JetBrainsMono NL Nerd Font** dans les préférences du terminal.
|
||
|
||
### atuin — synchronisation (optionnel)
|
||
|
||
atuin peut synchroniser l'historique entre machines. Pour activer la sync :
|
||
|
||
```bash
|
||
atuin register # créer un compte
|
||
atuin sync # synchroniser
|
||
```
|
||
|
||
Sans compte, atuin fonctionne en local uniquement.
|
||
|
||
---
|
||
|
||
## Log d'installation
|
||
|
||
Chaque installation génère un fichier log horodaté :
|
||
|
||
```
|
||
~/violet-chaton-install-YYYYMMDD-HHMMSS.log
|
||
```
|
||
|
||
En cas d'erreur, consulter ce fichier pour identifier l'étape qui a échoué.
|
||
|
||
---
|
||
|
||
## Troubleshooting
|
||
|
||
### Icônes ne s'affichent pas
|
||
|
||
- Vérifier que la police **JetBrainsMono NL Nerd Font** est sélectionnée dans le terminal
|
||
- Relancer `fc-cache -f` puis rouvrir le terminal
|
||
|
||
### zinit ne se lance pas
|
||
|
||
- Vérifier que `~/.local/share/zinit/zinit.git/zinit.zsh` existe
|
||
- Relancer le script d'installation étape 3
|
||
|
||
### Injection Vivaldi échoue
|
||
|
||
- Lancer Vivaldi une première fois, le fermer complètement, puis relancer `bash install.sh` → option 4
|
||
|
||
### Thème bat ne s'applique pas
|
||
|
||
```bash
|
||
bat cache --build
|
||
```
|
||
|
||
### candy-icons ne s'affiche pas dans Nemo
|
||
|
||
```bash
|
||
gtk-update-icon-cache ~/.local/share/icons/candy-icons-master
|
||
gsettings set org.gnome.desktop.interface icon-theme 'candy-icons-master'
|
||
```
|
||
|
||
---
|
||
|
||
## Raccourcis configurés
|
||
|
||
| Raccourci | Action |
|
||
|----------------|--------|
|
||
| `Ctrl+R` | Historique atuin (fuzzy search) |
|
||
| `Ctrl+G` | Rechercher un fichier (fzf) |
|
||
| `Ctrl+F` | Naviguer vers un dossier (fzf) |
|
||
| `Ctrl+Space` | Accepter la suggestion autosuggestions |
|
||
| `→` | Accepter la suggestion mot par mot |
|
||
|
||
---
|
||
|
||
## Alias configurés
|
||
|
||
| Alias | Commande réelle |
|
||
|----------|-----------------|
|
||
| `ls` | `eza --icons --git --group-directories-first` |
|
||
| `ll` | `eza -l --icons --git` |
|
||
| `lt` | `eza --tree --icons` |
|
||
| `cat` | `batcat --paging=never` |
|
||
| `bat` | `batcat` |
|
||
| `fd` | `fdfind` |
|
||
| `man` | `tldr` |
|
||
| `lg` | `lazygit` |
|
||
| `rg` | `rg --color=always` |
|
||
| `disk` | `ncdu` |
|
||
| `fetch` | `fastfetch` avec logo chafa |
|
||
| `pipes` | `pipes.sh` |
|
||
| `cd` | `zoxide` (avec mémoire) |
|
||
| `fuck` | correction auto thefuck |
|
||
| `grep` | `grep --color=auto` |
|
||
|
||
---
|
||
|
||
## Structure du dossier INSTALL/
|
||
|
||
```
|
||
INSTALL/
|
||
├── install.sh script principal — menu interactif
|
||
├── scripts/
|
||
│ ├── lib.sh couleurs et fonctions partagées
|
||
│ ├── 01-packages-apt.sh installation apt + Vivaldi
|
||
│ ├── 02-packages-manual.sh binaires GitHub + Nerd Fonts + candy-icons
|
||
│ └── 03-deploy-configs.sh configs, thèmes, COSMIC, Vivaldi
|
||
├── configs/ copies des fichiers de configuration
|
||
│ ├── zshrc
|
||
│ ├── bashrc
|
||
│ ├── gitconfig
|
||
│ ├── starship.toml
|
||
│ ├── bat.conf
|
||
│ ├── btop.conf
|
||
│ ├── fastfetch.jsonc
|
||
│ ├── atuin.toml
|
||
│ ├── lazygit.yml
|
||
│ ├── yazi.toml
|
||
│ └── glow.yml
|
||
├── assets/
|
||
│ └── violet-chaton-logo.png logo fastfetch (1024×1024)
|
||
└── themes/ tous les fichiers de thème violet-chaton
|
||
├── violet-chaton-bat.tmTheme
|
||
├── violet-chaton-btop.theme
|
||
├── violet-chaton-atuin.toml
|
||
├── violet-chaton-cava.conf
|
||
├── violet-chaton-yazi.toml
|
||
├── violet-chaton-gtk.css thème GTK3 (Nemo + applications GTK)
|
||
├── violet-chaton-ls-colors.sh
|
||
├── violet-chaton-vivaldi.json thème Rice Violet-Chaton pour Vivaldi
|
||
├── violet-chaton.theme.css thème Discord/Vesktop compilé
|
||
├── cosmic/ configs COSMIC déployées automatiquement
|
||
│ ├── com.system76.CosmicTheme.Dark/v1/
|
||
│ ├── com.system76.CosmicTheme.Mode/v1/
|
||
│ ├── com.system76.CosmicTerm/v1/
|
||
│ └── com.system76.CosmicTk/v1/
|
||
└── violet-chaton-discord-theme/ sources SCSS du thème (gitignored)
|
||
```
|
||
|
||
---
|
||
|
||
## Mettre à jour les configs
|
||
|
||
Après avoir modifié un fichier de config sur ta machine, re-copier vers INSTALL/ :
|
||
|
||
```bash
|
||
# Exemple : mettre à jour la config starship
|
||
cp ~/.config/starship.toml ~/Documents/config-violet-chaton/INSTALL/configs/starship.toml
|
||
|
||
# Mettre à jour les configs COSMIC
|
||
cp ~/.config/cosmic/com.system76.CosmicTerm/v1/* \
|
||
~/Documents/config-violet-chaton/INSTALL/themes/cosmic/com.system76.CosmicTerm/v1/
|
||
```
|
||
|
||
---
|
||
|
||
## Palette violet-chaton
|
||
|
||
| Rôle | Hex |
|
||
|------------|-----------|
|
||
| Background | `#261537` |
|
||
| BG medium | `#341c4a` |
|
||
| BG high | `#3d2454` |
|
||
| Pink | `#ff79c6` |
|
||
| Purple | `#e79cfe` |
|
||
| Cyan | `#8be9fd` |
|
||
| Text | `#f8f8f2` |
|
||
| Muted | `#6c7086` |
|
||
| Overlay | `#9399b2` |
|
||
| Success | `#a6e3a1` |
|
||
| Warning | `#f9e2af` |
|
||
| Danger | `#f38ba8` |
|