feat: violet-chaton v2 — palette originale, kitty, AGS, Maple Mono NF
Refonte complete du rice. Palette 100% originale (Mitsuri Kanroji inspired), zero emprunt Dracula/Catppuccin. 50 fichiers, 3200+ lignes. Palette v2: - palette.sh source de verite unique (dark + light) - 5 accents (magenta, lilac, mitsuri, lavande, champagne) - 4 semantiques derivees, 4 niveaux texte, 6 fonds - Gradient signature: magenta → lilac → lavande → mitsuri - Variante Light: fonds lavande, accents assombris WCAG Terminal: - kitty (remplace COSMIC Term comme principal) - Maple Mono NF (cursive italics, ligatures) - Cursor trail magenta, splits/layouts tiling, undercurl - Vi-mode zsh avec cursor shape adaptatif Shell: - starship 3 lignes (palette nommee, brain_name, battery, sudo) - zshrc v2 (nouveaux outils, fzf pimp, shell functions, vi-mode) - Commandes custom: proj, glog, fkill, colors, hotkeys, weather, y Desktop: - AGS config (bar 3-pills, OSD gradient, launcher, notifications) - COSMIC Dark + Light v2 (7 fichiers RON chacun) - COSMIC Term v2 (color schemes dark/light, Maple Mono NF) - GTK3/GTK4 dark + light css - Vivaldi theme v2 Outils: - +kitty +dust +procs +tokei +sd +hyperfine +gping +Maple Mono NF - Propagation palette sur: bat, btop, cava, yazi, lazygit, rofi, delta, fastfetch, atuin, ls-colors, vivaldi - Claude Code statusline brain-aware Docs: - README v2 complet (palette, structure, raccourcis, commandes) - help.md v2 (reference exhaustive)
This commit is contained in:
@@ -27,18 +27,19 @@ PACKAGES=(
|
||||
btop
|
||||
# atuin → installé via son propre script (voir 02-packages-manual.sh)
|
||||
# starship → installé via son propre script (voir 02-packages-manual.sh)
|
||||
# ── Waybar + launcher + dépendances ──────────────────────────────────────
|
||||
waybar
|
||||
wob
|
||||
wofi
|
||||
# ── AGS + deps (remplace waybar/wob/wofi) ─────────────────────────────────
|
||||
brightnessctl
|
||||
playerctl
|
||||
wireplumber
|
||||
python3-gi
|
||||
gir1.2-gtk-3.0
|
||||
gir1.2-gtklayershell-0.1
|
||||
gir1.2-gdkpixbuf-2.0
|
||||
gir1.2-pango-1.0
|
||||
libgtk-layer-shell-dev
|
||||
libpulse-dev
|
||||
libdbusmenu-gtk3-dev
|
||||
# Rofi reste en backup launcher (AGS launcher = principal)
|
||||
rofi
|
||||
# ── Fun & utils ──────────────────────────────────────────────────────────
|
||||
cmatrix
|
||||
toilet
|
||||
|
||||
@@ -131,6 +131,135 @@ else
|
||||
chmod +x "$BIN/pipes.sh" && ok "pipes.sh" || fail "pipes.sh"
|
||||
fi
|
||||
|
||||
# dust (remplace ncdu/du)
|
||||
if has_cmd dust; then
|
||||
ok "dust (déjà installé)"
|
||||
else
|
||||
DUST_VER=$(github_latest_tag "bootandy/dust")
|
||||
if [ -z "$DUST_VER" ]; then
|
||||
fail "dust — version introuvable"
|
||||
else
|
||||
install_binary "dust" \
|
||||
"https://github.com/bootandy/dust/releases/download/${DUST_VER}/dust-${DUST_VER}-x86_64-unknown-linux-musl.tar.gz" \
|
||||
"tar:dust"
|
||||
fi
|
||||
fi
|
||||
|
||||
# procs (remplace ps)
|
||||
if has_cmd procs; then
|
||||
ok "procs (déjà installé)"
|
||||
else
|
||||
PROCS_VER=$(github_latest_tag "dalance/procs")
|
||||
if [ -z "$PROCS_VER" ]; then
|
||||
fail "procs — version introuvable"
|
||||
else
|
||||
install_binary "procs" \
|
||||
"https://github.com/dalance/procs/releases/download/${PROCS_VER}/procs-${PROCS_VER}-x86_64-linux.zip" \
|
||||
"zip:procs"
|
||||
fi
|
||||
fi
|
||||
|
||||
# tokei (stats code par langage) — v12 car v13+ n'a plus de binaires pre-compiles
|
||||
if has_cmd tokei; then
|
||||
ok "tokei (déjà installé)"
|
||||
else
|
||||
install_binary "tokei" \
|
||||
"https://github.com/XAMPPRocky/tokei/releases/download/v12.1.2/tokei-x86_64-unknown-linux-musl.tar.gz" \
|
||||
"tar:tokei"
|
||||
fi
|
||||
|
||||
# sd (remplace sed simplifié)
|
||||
if has_cmd sd; then
|
||||
ok "sd (déjà installé)"
|
||||
else
|
||||
SD_VER=$(github_latest_tag "chmln/sd")
|
||||
if [ -z "$SD_VER" ]; then
|
||||
fail "sd — version introuvable"
|
||||
else
|
||||
install_binary "sd" \
|
||||
"https://github.com/chmln/sd/releases/download/${SD_VER}/sd-${SD_VER}-x86_64-unknown-linux-musl.tar.gz" \
|
||||
"tar:sd"
|
||||
fi
|
||||
fi
|
||||
|
||||
# hyperfine (benchmarks CLI)
|
||||
if has_cmd hyperfine; then
|
||||
ok "hyperfine (déjà installé)"
|
||||
else
|
||||
HF_VER=$(github_latest_tag "sharkdp/hyperfine")
|
||||
if [ -z "$HF_VER" ]; then
|
||||
fail "hyperfine — version introuvable"
|
||||
else
|
||||
install_binary "hyperfine" \
|
||||
"https://github.com/sharkdp/hyperfine/releases/download/${HF_VER}/hyperfine-${HF_VER}-x86_64-unknown-linux-musl.tar.gz" \
|
||||
"tar:hyperfine"
|
||||
fi
|
||||
fi
|
||||
|
||||
# gping (ping avec graphe)
|
||||
if has_cmd gping; then
|
||||
ok "gping (déjà installé)"
|
||||
else
|
||||
GPING_VER=$(github_latest_tag "orf/gping")
|
||||
if [ -z "$GPING_VER" ]; then
|
||||
fail "gping — version introuvable"
|
||||
else
|
||||
install_binary "gping" \
|
||||
"https://github.com/orf/gping/releases/download/${GPING_VER}/gping-Linux-musl-x86_64.tar.gz" \
|
||||
"tar:gping"
|
||||
fi
|
||||
fi
|
||||
|
||||
section "AGS (Aylur's GTK Shell — barre + OSD + launcher + notifs)"
|
||||
if has_cmd ags; then
|
||||
ok "ags (deja installe)"
|
||||
else
|
||||
step "Installation de AGS depuis source..."
|
||||
tmp=$(mktemp -d)
|
||||
AGS_VER=$(github_latest_tag "Aylur/ags")
|
||||
if [ -z "$AGS_VER" ]; then
|
||||
warn "ags — version introuvable — a installer manuellement"
|
||||
else
|
||||
if git clone --depth 1 --branch "$AGS_VER" https://github.com/Aylur/ags.git "$tmp/ags" &>/dev/null; then
|
||||
if cd "$tmp/ags" && npm install &>/dev/null && npm run build &>/dev/null; then
|
||||
cp "$tmp/ags/ags" "$BIN/ags" 2>/dev/null && chmod +x "$BIN/ags" 2>/dev/null
|
||||
if [ -x "$BIN/ags" ]; then
|
||||
ok "ags"
|
||||
else
|
||||
warn "ags — build OK mais binaire non trouve. Install manuelle recommandee :"
|
||||
info " git clone https://github.com/Aylur/ags && cd ags && npm i && npm run build"
|
||||
fi
|
||||
else
|
||||
warn "ags — build echoue. Install manuelle recommandee :"
|
||||
info " git clone https://github.com/Aylur/ags && cd ags && npm i && npm run build"
|
||||
fi
|
||||
cd - &>/dev/null
|
||||
else
|
||||
warn "ags — clone echoue"
|
||||
fi
|
||||
fi
|
||||
rm -rf "$tmp"
|
||||
fi
|
||||
|
||||
section "kitty (terminal GPU-accelerated)"
|
||||
if has_cmd kitty; then
|
||||
ok "kitty (deja installe)"
|
||||
else
|
||||
step "Installation de kitty..."
|
||||
if curl -L https://sw.kovidgoyal.net/kitty/installer.sh | sh /dev/stdin launch=n &>/dev/null; then
|
||||
ln -sf "$HOME/.local/kitty.app/bin/kitty" "$HOME/.local/bin/kitty"
|
||||
ln -sf "$HOME/.local/kitty.app/bin/kitten" "$HOME/.local/bin/kitten"
|
||||
# Desktop file pour le launcher
|
||||
cp "$HOME/.local/kitty.app/share/applications/kitty.desktop" \
|
||||
"$HOME/.local/share/applications/" 2>/dev/null
|
||||
sed -i "s|Icon=kitty|Icon=$HOME/.local/kitty.app/share/icons/hicolor/256x256/apps/kitty.png|g" \
|
||||
"$HOME/.local/share/applications/kitty.desktop" 2>/dev/null
|
||||
ok "kitty"
|
||||
else
|
||||
fail "kitty"
|
||||
fi
|
||||
fi
|
||||
|
||||
section "starship (prompt)"
|
||||
if has_cmd starship; then
|
||||
ok "starship (déjà installé)"
|
||||
@@ -188,7 +317,7 @@ else
|
||||
fi
|
||||
|
||||
# ── Nerd Fonts ─────────────────────────────────────────────────────────────────
|
||||
section "Nerd Fonts (JetBrainsMono NL + 0xProto)"
|
||||
section "Nerd Fonts (Maple Mono NF + JetBrainsMono NL + 0xProto)"
|
||||
FONTS_DIR="$HOME/.local/share/fonts/NerdFonts"
|
||||
ensure_dir "$FONTS_DIR"
|
||||
|
||||
@@ -213,6 +342,9 @@ install_font() {
|
||||
rm -rf "$tmp"
|
||||
}
|
||||
|
||||
install_font "Maple Mono NF" \
|
||||
"https://github.com/subframe7536/maple-font/releases/latest/download/MapleMono-NF.zip" \
|
||||
"MapleMono-NF-Regular.ttf"
|
||||
install_font "JetBrainsMono NL" \
|
||||
"https://github.com/ryanoasis/nerd-fonts/releases/latest/download/JetBrainsMono.zip" \
|
||||
"JetBrainsMonoNLNerdFont-Regular.ttf"
|
||||
|
||||
@@ -51,6 +51,10 @@ fi
|
||||
# ── Configs outils ─────────────────────────────────────────────────────────────
|
||||
section "Configs outils"
|
||||
deploy_file "$CONFIGS/starship.toml" "$HOME/.config/starship.toml"
|
||||
deploy_file "$CONFIGS/kitty.conf" "$HOME/.config/kitty/kitty.conf"
|
||||
if [ -f "$CONFIGS/kitty/violet-chaton-glow.glsl" ]; then
|
||||
deploy_file "$CONFIGS/kitty/violet-chaton-glow.glsl" "$HOME/.config/kitty/violet-chaton-glow.glsl"
|
||||
fi
|
||||
deploy_file "$CONFIGS/bat.conf" "$HOME/.config/bat/config"
|
||||
deploy_file "$CONFIGS/btop.conf" "$HOME/.config/btop/btop.conf"
|
||||
deploy_file "$CONFIGS/fastfetch.jsonc" "$HOME/.config/fastfetch/config.jsonc"
|
||||
@@ -128,14 +132,20 @@ fi
|
||||
# ── GTK3 / GTK4 — thème violet-chaton ─────────────────────────────────────
|
||||
section "GTK — thème violet-chaton"
|
||||
|
||||
step "Thème GTK3 (adw-gtk3-dark + couleurs violet-chaton)..."
|
||||
step "Thème GTK3 dark (adw-gtk3-dark + couleurs violet-chaton)..."
|
||||
ensure_dir "$HOME/.config/gtk-3.0"
|
||||
deploy_file "$THEMES/violet-chaton-gtk.css" "$HOME/.config/gtk-3.0/gtk.css"
|
||||
|
||||
step "Thème GTK4 / libadwaita (couleurs violet-chaton)..."
|
||||
step "Thème GTK3 light..."
|
||||
deploy_file "$THEMES/violet-chaton-gtk-light.css" "$HOME/.config/gtk-3.0/gtk-light.css"
|
||||
|
||||
step "Thème GTK4 / libadwaita dark..."
|
||||
ensure_dir "$HOME/.config/gtk-4.0"
|
||||
deploy_file "$THEMES/violet-chaton-gtk.css" "$HOME/.config/gtk-4.0/gtk.css"
|
||||
|
||||
step "Thème GTK4 / libadwaita light..."
|
||||
deploy_file "$THEMES/violet-chaton-gtk-light.css" "$HOME/.config/gtk-4.0/gtk-light.css"
|
||||
|
||||
step "Activation adw-gtk3-dark + dark mode (gsettings)..."
|
||||
if has_cmd gsettings; then
|
||||
gsettings set org.gnome.desktop.interface gtk-theme 'adw-gtk3-dark' 2>/dev/null && \
|
||||
@@ -246,105 +256,59 @@ PYEOF
|
||||
fi
|
||||
fi
|
||||
|
||||
# ── Waybar ─────────────────────────────────────────────────────────────────────
|
||||
section "Waybar — island floating 3 pills"
|
||||
deploy_file "$CONFIGS/waybar/config" "$HOME/.config/waybar/config"
|
||||
deploy_file "$THEMES/violet-chaton-waybar.css" "$HOME/.config/waybar/style.css"
|
||||
deploy_file "$CONFIGS/waybar/cava-waybar.cfg" "$HOME/.config/waybar/cava-waybar.cfg"
|
||||
# ── AGS (remplace waybar + wob + wofi) ─────────────────────────────────────────
|
||||
section "AGS — violet-chaton shell"
|
||||
ensure_dir "$HOME/.config/ags/css"
|
||||
ensure_dir "$HOME/.config/ags/widgets"
|
||||
deploy_file "$CONFIGS/ags/config.js" "$HOME/.config/ags/config.js"
|
||||
deploy_file "$CONFIGS/ags/css/style.css" "$HOME/.config/ags/css/style.css"
|
||||
deploy_file "$CONFIGS/ags/widgets/Bar.js" "$HOME/.config/ags/widgets/Bar.js"
|
||||
deploy_file "$CONFIGS/ags/widgets/OSD.js" "$HOME/.config/ags/widgets/OSD.js"
|
||||
deploy_file "$CONFIGS/ags/widgets/Launcher.js" "$HOME/.config/ags/widgets/Launcher.js"
|
||||
deploy_file "$CONFIGS/ags/widgets/Notifications.js" "$HOME/.config/ags/widgets/Notifications.js"
|
||||
|
||||
step "Scripts waybar..."
|
||||
ensure_dir "$HOME/.config/waybar/scripts"
|
||||
for script in "$CONFIGS/waybar/scripts/"*.sh; do
|
||||
dst="$HOME/.config/waybar/scripts/$(basename "$script")"
|
||||
cp "$script" "$dst" && chmod +x "$dst"
|
||||
done
|
||||
for script in "$CONFIGS/waybar/scripts/"*.py; do
|
||||
dst="$HOME/.config/waybar/scripts/$(basename "$script")"
|
||||
cp "$script" "$dst" && chmod +x "$dst"
|
||||
done
|
||||
ok "Scripts waybar"
|
||||
|
||||
# ── Autostart ───────────────────────────────────────────────────────────────────
|
||||
section "Autostart — waybar + wob"
|
||||
# ── Autostart — AGS ────────────────────────────────────────────────────────────
|
||||
section "Autostart — AGS"
|
||||
ensure_dir "$HOME/.config/autostart"
|
||||
deploy_file "$CONFIGS/autostart/waybar.desktop" "$HOME/.config/autostart/waybar.desktop"
|
||||
deploy_file "$CONFIGS/autostart/wob.desktop" "$HOME/.config/autostart/wob.desktop"
|
||||
|
||||
cat > /tmp/ags-vc.desktop << 'DESKTOP'
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=AGS violet-chaton
|
||||
Exec=ags
|
||||
X-GNOME-Autostart-enabled=true
|
||||
DESKTOP
|
||||
deploy_file "/tmp/ags-vc.desktop" "$HOME/.config/autostart/ags.desktop"
|
||||
rm -f /tmp/ags-vc.desktop
|
||||
|
||||
# Cleanup ancien waybar/wob autostart si present
|
||||
[ -f "$HOME/.config/autostart/waybar.desktop" ] && rm -f "$HOME/.config/autostart/waybar.desktop" && ok "waybar autostart retire"
|
||||
[ -f "$HOME/.config/autostart/wob.desktop" ] && rm -f "$HOME/.config/autostart/wob.desktop" && ok "wob autostart retire"
|
||||
|
||||
# ── Règle sudoers — profil énergie ──────────────────────────────────────────────
|
||||
section "Sudoers — profil énergie ACPI"
|
||||
SUDOERS_FILE="/etc/sudoers.d/waybar-power-profile"
|
||||
SUDOERS_FILE="/etc/sudoers.d/vc-power-profile"
|
||||
SUDOERS_RULE="$USER ALL=(ALL) NOPASSWD: /usr/bin/tee /sys/firmware/acpi/platform_profile"
|
||||
if [ -f "$SUDOERS_FILE" ]; then
|
||||
if [ -f "$SUDOERS_FILE" ] || [ -f "/etc/sudoers.d/waybar-power-profile" ]; then
|
||||
ok "Règle sudoers déjà présente"
|
||||
else
|
||||
step "Création de la règle sudoers (mot de passe sudo requis)..."
|
||||
echo "$SUDOERS_RULE" > /tmp/waybar-pp-sudoers
|
||||
if sudo cp /tmp/waybar-pp-sudoers "$SUDOERS_FILE" && sudo chmod 440 "$SUDOERS_FILE"; then
|
||||
rm -f /tmp/waybar-pp-sudoers
|
||||
echo "$SUDOERS_RULE" > /tmp/vc-pp-sudoers
|
||||
if sudo cp /tmp/vc-pp-sudoers "$SUDOERS_FILE" && sudo chmod 440 "$SUDOERS_FILE"; then
|
||||
rm -f /tmp/vc-pp-sudoers
|
||||
ok "Règle sudoers créée"
|
||||
else
|
||||
rm -f /tmp/waybar-pp-sudoers
|
||||
rm -f /tmp/vc-pp-sudoers
|
||||
warn "Échec sudoers — changement de profil énergie nécessitera sudo"
|
||||
fi
|
||||
fi
|
||||
|
||||
# ── Règle udev — permissions platform_profile ────────────────────────────────
|
||||
section "udev — platform_profile accessible au groupe video"
|
||||
UDEV_FILE="/etc/udev/rules.d/90-platform-profile.rules"
|
||||
if [ -f "$UDEV_FILE" ]; then
|
||||
ok "Règle udev déjà présente"
|
||||
else
|
||||
step "Création de la règle udev (mot de passe sudo requis)..."
|
||||
echo 'ACTION=="add|change", KERNEL=="platform_profile", SUBSYSTEM=="acpi", RUN+="/bin/chmod g+w /sys/firmware/acpi/platform_profile", RUN+="/bin/chgrp video /sys/firmware/acpi/platform_profile"' \
|
||||
> /tmp/90-platform-profile.rules
|
||||
if sudo cp /tmp/90-platform-profile.rules "$UDEV_FILE" && sudo chmod 644 "$UDEV_FILE"; then
|
||||
rm -f /tmp/90-platform-profile.rules
|
||||
sudo chmod g+w /sys/firmware/acpi/platform_profile 2>/dev/null
|
||||
sudo chgrp video /sys/firmware/acpi/platform_profile 2>/dev/null
|
||||
ok "Règle udev créée"
|
||||
else
|
||||
rm -f /tmp/90-platform-profile.rules
|
||||
warn "Échec udev — redémarrage requis pour les permissions platform_profile"
|
||||
fi
|
||||
fi
|
||||
|
||||
# ── Wofi — launcher + power menu ────────────────────────────────────────────────
|
||||
section "Wofi — launcher violet-chaton"
|
||||
ensure_dir "$HOME/.config/wofi"
|
||||
deploy_file "$CONFIGS/wofi/config" "$HOME/.config/wofi/config"
|
||||
deploy_file "$THEMES/violet-chaton-wofi.css" "$HOME/.config/wofi/style.css"
|
||||
deploy_file "$THEMES/violet-chaton-wofi-power.css" "$HOME/.config/wofi/power-style.css"
|
||||
|
||||
# ── Rofi ────────────────────────────────────────────────────────────────────────
|
||||
section "Rofi — thème violet-chaton"
|
||||
# ── Rofi — backup launcher (AGS launcher = principal) ──────────────────────────
|
||||
section "Rofi — thème violet-chaton (backup launcher)"
|
||||
ensure_dir "$HOME/.config/rofi"
|
||||
deploy_file "$CONFIGS/rofi/config.rasi" "$HOME/.config/rofi/config.rasi"
|
||||
deploy_file "$THEMES/violet-chaton-rofi.rasi" "$HOME/.config/rofi/violet-chaton.rasi"
|
||||
|
||||
# ── wob ─────────────────────────────────────────────────────────────────────────
|
||||
section "wob — overlay volume/luminosité"
|
||||
deploy_file "$CONFIGS/wob/wob.ini" "$HOME/.config/wob.ini"
|
||||
|
||||
# ── Désactiver cosmic-osd (remplacé par wob) ─────────────────────────────────
|
||||
section "cosmic-osd — désactivation (wob le remplace)"
|
||||
if [ -f /usr/bin/cosmic-osd.real ]; then
|
||||
ok "cosmic-osd déjà désactivé via dpkg-divert"
|
||||
elif [ -f /usr/bin/cosmic-osd ]; then
|
||||
step "Divert de cosmic-osd (mot de passe sudo requis)..."
|
||||
if sudo dpkg-divert --add --rename --divert /usr/bin/cosmic-osd.real /usr/bin/cosmic-osd; then
|
||||
printf '#!/usr/bin/env bash\nexec sleep infinity\n' > /tmp/cosmic-osd-fake
|
||||
chmod +x /tmp/cosmic-osd-fake
|
||||
sudo cp /tmp/cosmic-osd-fake /usr/bin/cosmic-osd
|
||||
rm -f /tmp/cosmic-osd-fake
|
||||
pkill -x cosmic-osd 2>/dev/null
|
||||
ok "cosmic-osd désactivé — wob gère les overlays"
|
||||
else
|
||||
warn "dpkg-divert échoué — cosmic-osd reste actif"
|
||||
fi
|
||||
else
|
||||
warn "cosmic-osd introuvable — rien à faire"
|
||||
fi
|
||||
|
||||
# ── Logo fastfetch ─────────────────────────────────────────────────────────────
|
||||
section "Logo fastfetch"
|
||||
if [ -f "$SCRIPT_DIR/assets/violet-chaton-logo.png" ]; then
|
||||
|
||||
@@ -1,16 +1,23 @@
|
||||
#!/bin/bash
|
||||
# ── violet-chaton : fonctions partagées ───────────────────────────────────────
|
||||
|
||||
PINK='\033[38;2;255;121;198m'
|
||||
PURPLE='\033[38;2;231;156;254m'
|
||||
CYAN='\033[38;2;139;233;253m'
|
||||
GREEN='\033[38;2;166;227;161m'
|
||||
YELLOW='\033[38;2;249;226;175m'
|
||||
RED='\033[38;2;243;139;168m'
|
||||
MUTED='\033[38;2;108;112;134m'
|
||||
TEXT='\033[38;2;248;248;242m'
|
||||
BOLD='\033[1m'
|
||||
RESET='\033[0m'
|
||||
# ── Palette violet-chaton v2 (source de verite : themes/palette.sh) ──────────
|
||||
_LIB_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
_PALETTE="$_LIB_DIR/../themes/palette.sh"
|
||||
if [ -f "$_PALETTE" ]; then
|
||||
source "$_PALETTE"
|
||||
fi
|
||||
|
||||
PINK="${VC_ANSI_MAGENTA:-\033[38;2;255;77;166m}"
|
||||
PURPLE="${VC_ANSI_LILAC:-\033[38;2;201;160;255m}"
|
||||
CYAN="${VC_ANSI_LAVANDE:-\033[38;2;164;180;255m}"
|
||||
GREEN="${VC_ANSI_MITSURI:-\033[38;2;154;219;168m}"
|
||||
YELLOW="${VC_ANSI_CHAMPAGNE:-\033[38;2;232;200;122m}"
|
||||
RED="${VC_ANSI_DANGER:-\033[38;2;242;92;122m}"
|
||||
MUTED="${VC_ANSI_MUTED:-\033[38;2;113;102;134m}"
|
||||
TEXT="${VC_ANSI_TEXT:-\033[38;2;240;234;248m}"
|
||||
BOLD="${VC_ANSI_BOLD:-\033[1m}"
|
||||
RESET="${VC_ANSI_RESET:-\033[0m}"
|
||||
|
||||
# ── Log ────────────────────────────────────────────────────────────────────────
|
||||
# INSTALL_LOG peut être pré-exporté par install.sh pour que tous les sous-scripts
|
||||
|
||||
Reference in New Issue
Block a user