docs(readme): réécriture — rice compatible COSMIC + Hyprland, léger et cohérent

This commit is contained in:
2026-03-16 01:34:07 +01:00
parent f0adb2a291
commit 7d4d54c5b8

436
README.md
View File

@@ -1,416 +1,86 @@
# violet-chaton — setup automatique # violet-chaton
Environnement terminal complet aux couleurs violet-chaton, pensé pour Pop!_OS / Ubuntu avec COSMIC Desktop. > Rice Pop!_OS complet aux couleurs violet-chaton — compatible **COSMIC** et **Hyprland**
(Bonus thème Vesktop / Discord)
![preview](assets/preview.png)
--- ---
## Démarrage rapide ## Install
```bash ```bash
bash install.sh git clone https://git.tetardtek.com/Tetardtek/dotfiles-violet-chaton.git
cd dotfiles-violet-chaton
bash INSTALL/install.sh
``` ```
Un menu s'affiche. Choisis **1** pour une installation complète. Choisir **1** (complète) ou **4** (configs uniquement si les outils sont déjà là).
Prérequis : `sudo apt install -y curl git unzip`
--- ---
## Prérequis ## Ce que tu obtiens
- **Distribution :** Debian, Ubuntu, Pop!_OS (ou dérivé apt) **Shell** — zsh · starship · atuin · zinit · autosuggestions · syntax-highlighting
- **Droits :** compte avec `sudo` **CLI** — eza · bat · fd · fzf · zoxide · ripgrep · lazygit · delta · yazi · btop
- **Connexion internet** (téléchargement des binaires) **Terminal** — fastfetch avec sprite Pokémon via chafa · LS_COLORS patché depuis catppuccin-mocha via vivid · cava · pipes.sh
- **Outils de base :** **Desktop** — Waybar 3-pills glassmorphism · Wofi · Rofi · wob (OSD volume/luminosité)
**Polices** — JetBrainsMono NL + 0xProto Nerd Fonts · icônes candy-icons
```bash **Apps** — Vivaldi (thème injecté auto) · Vesktop/Discord · Nemo · GTK3/GTK4
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 ## COSMIC
### Étape 1 — Paquets apt (`01-packages-apt.sh`) Déploiement automatique complet :
Installe les outils via le gestionnaire de paquets système : - Thème COSMIC Dark/Light — palette violet-chaton
- CosmicTerm — police, couleurs, profil
| Outil | Rôle | - CosmicTk — polices UI + icônes candy-icons
|------------------|------| - `cosmic-osd` désactivé, remplacé par `wob`
| `zsh` | Shell principal (remplace bash) | - Waybar + autostart configurés
| `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 |
| `waybar` | Barre de statut Wayland 3-pills glassmorphism |
| `wob` | Overlay volume/luminosité animé |
| `wofi` | Launcher d'applications et menu power |
| `brightnessctl` | Contrôle de la luminosité rétroéclairage |
| `playerctl` | Contrôle MPRIS (lecture/pause, titre en cours) |
| `wireplumber` | Gestionnaire audio PipeWire (`wpctl`) |
| `python3-gi` | Bindings Python GTK3 (popups volume/luminosité) |
| `gir1.2-gtk-3.0` | Introspection GTK3 pour Python |
| `gir1.2-gtklayershell-0.1` | Layer-shell Wayland pour popups GTK flottants |
Définit aussi **zsh comme shell par défaut** via `chsh`.
--- ---
### Étape 2 — Binaires manuels (`02-packages-manual.sh`) ## Hyprland
Télécharge les versions les plus récentes depuis GitHub et les installe dans `~/.local/bin/` : Les configs shell, waybar, wofi, rofi, kitty et zsh fonctionnent **tels quels** sous Hyprland.
Ce qui reste à câbler côté Hyprland :
| Outil | Rôle | ```
|--------------|------| hyprland.conf — keybinds, moniteurs, règles fenêtres
| `lazygit` | Interface git complète en TUI (`lg`) | hyprpaper / swww — fond d'écran
| `yazi` | Gestionnaire de fichiers en TUI | hyprlock — écran de verrouillage
| `glow` | Rendu Markdown dans le terminal | mako — notifications
| `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 : > Ces configs ne sont pas (encore) dans le repo — les contributions sont les bienvenues.
- **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`) ## Palette
Copie les fichiers de config et thèmes aux bons emplacements. | | Hex | Rôle |
|-|-----|------|
Avant chaque déploiement, les fichiers existants sont sauvegardés dans : | ![#261537](https://placehold.co/12x12/261537/261537.png) | `#261537` | Background |
``` | ![#341c4a](https://placehold.co/12x12/341c4a/341c4a.png) | `#341c4a` | BG medium |
~/.config/violet-chaton-backups/YYYYMMDD-HHMMSS/ | ![#3d2454](https://placehold.co/12x12/3d2454/3d2454.png) | `#3d2454` | BG high · sélection |
``` | ![#ff79c6](https://placehold.co/12x12/ff79c6/ff79c6.png) | `#ff79c6` | Pink — accents · bordures |
Le chemin exact est affiché à la fin du script si des fichiers ont été sauvegardés. | ![#e79cfe](https://placehold.co/12x12/e79cfe/e79cfe.png) | `#e79cfe` | Purple — accents secondaires |
| ![#8be9fd](https://placehold.co/12x12/8be9fd/8be9fd.png) | `#8be9fd` | Cyan — commandes · highlights |
**Configs shell :** | ![#f8f8f2](https://placehold.co/12x12/f8f8f2/f8f8f2.png) | `#f8f8f2` | Text |
- `~/.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.Light/v1/` — palette violet-chaton (mode clair)
- `~/.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
**Waybar — island floating 3 pills :**
- `~/.config/waybar/config` — modules left/center/right
- `~/.config/waybar/style.css` — glassmorphism, bordures roses, animations
- `~/.config/waybar/cava-waybar.cfg` — config CAVA dédié waybar
- `~/.config/waybar/scripts/` — tous les scripts (gpu, network, power-profile, cava, wob, popups GTK)
- `~/.config/autostart/waybar.desktop` — démarrage automatique avec COSMIC
- `~/.config/autostart/wob.desktop` — démarrage automatique de l'overlay wob
**Wofi — launcher + menu power :**
- `~/.config/wofi/config` — configuration wofi
- `~/.config/wofi/style.css` — thème violet-chaton (launcher apps)
- `~/.config/wofi/power-style.css` — thème violet-chaton (menu power)
**wob — overlay volume/luminosité :**
- `~/.config/wob.ini` — couleurs violet-chaton, position bas de l'écran
**Système (avec sudo) :**
- `/etc/sudoers.d/waybar-power-profile` — changement de profil énergie sans mot de passe
- `/etc/udev/rules.d/90-platform-profile.rules` — permissions groupe `video` sur platform_profile
**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 ## Raccourcis
### zinit — premier démarrage | Touche | Action |
|--------|--------|
| `Ctrl+R` | Historique atuin |
| `Ctrl+G` | Fichier (fzf) |
| `Ctrl+F` | Dossier (fzf) |
| `Ctrl+Space` | Accepter suggestion |
Au premier lancement de zsh, zinit télécharge automatiquement les plugins : ## Alias clés
- `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. `ls` → eza · `cat` → bat · `fd` → fdfind · `man` → tldr · `lg` → lazygit · `disk` → ncdu · `fetch` → fastfetch+chafa
### 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'
```
### Waybar ne démarre pas
```bash
waybar & # tester manuellement, lire les erreurs
pkill -SIGUSR2 waybar # recharger la config à chaud
```
### Popups volume/luminosité ne s'ouvrent pas
Vérifier que les dépendances Python sont installées :
```bash
python3 -c "import gi; gi.require_version('GtkLayerShell', '0.1'); print('OK')"
```
### Profil énergie ne change pas au clic
Vérifier que la règle sudoers et les permissions udev sont en place :
```bash
ls -la /sys/firmware/acpi/platform_profile # doit être g+w groupe video
cat /etc/sudoers.d/waybar-power-profile
```
---
## 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
│ ├── autostart/
│ │ ├── waybar.desktop démarrage automatique waybar
│ │ └── wob.desktop démarrage automatique wob
│ ├── waybar/
│ │ ├── config modules 3-pills
│ │ ├── cava-waybar.cfg config CAVA dédiée waybar
│ │ └── scripts/ gpu, network, power-profile, cava, wob, popups GTK
│ ├── wofi/
│ │ └── config config wofi
│ └── wob/
│ └── wob.ini overlay volume/luminosité
├── 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é
├── violet-chaton-waybar.css CSS 3-pills glassmorphism
├── violet-chaton-wofi.css thème wofi launcher
├── violet-chaton-wofi-power.css thème wofi menu power
├── cosmic/ configs COSMIC déployées automatiquement
│ ├── com.system76.CosmicTheme.Dark/v1/
│ ├── com.system76.CosmicTheme.Light/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/
# Mettre à jour la config ou le CSS waybar
cp ~/.config/waybar/config \
~/Documents/config-violet-chaton/INSTALL/configs/waybar/config
cp ~/.config/waybar/style.css \
~/Documents/config-violet-chaton/INSTALL/themes/violet-chaton-waybar.css
# Mettre à jour un script waybar
cp ~/.config/waybar/scripts/power-profile.sh \
~/Documents/config-violet-chaton/INSTALL/configs/waybar/scripts/power-profile.sh
```
---
## 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` |