Files
dotfiles-violet-chaton/INSTALL/configs/zshrc
Tetardtek ee455870f5 Initial commit — violet-chaton ricing setup
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.
2026-02-21 20:27:14 +01:00

121 lines
7.9 KiB
Bash

# ── zinit ─────────────────────────────────────────────────────────────────────
if [[ ! -f $HOME/.local/share/zinit/zinit.git/zinit.zsh ]]; then
print -P "%F{33} %F{220}Installing zinit…%f"
command mkdir -p "$HOME/.local/share/zinit" && command chmod g-rwX "$HOME/.local/share/zinit"
command git clone https://github.com/zdharma-continuum/zinit "$HOME/.local/share/zinit/zinit.git"
fi
source "$HOME/.local/share/zinit/zinit.git/zinit.zsh"
autoload -Uz _zinit
(( ${+_comps} )) && _comps[zinit]=_zinit
# ── Plugins ───────────────────────────────────────────────────────────────────
zinit light zsh-users/zsh-autosuggestions
zinit light zsh-users/zsh-syntax-highlighting
zinit light zsh-users/zsh-completions
# ── PATH ──────────────────────────────────────────────────────────────────────
export PATH="/usr/local/bin:$HOME/.local/bin:/usr/bin:$HOME/.atuin/bin:$PATH"
# ── Historique ────────────────────────────────────────────────────────────────
HISTSIZE=10000
HISTFILESIZE=20000
HISTFILE=~/.zsh_history
setopt HIST_IGNORE_DUPS
setopt HIST_IGNORE_SPACE
setopt SHARE_HISTORY
setopt APPEND_HISTORY
# ── Options zsh ───────────────────────────────────────────────────────────────
setopt AUTO_CD # cd en tapant juste le nom du dossier
setopt CORRECT # correction de typos
setopt GLOB_DOTS # inclure fichiers cachés dans les globs
setopt NO_BEEP # silence
# ── Completion ────────────────────────────────────────────────────────────────
autoload -Uz compinit && compinit
zstyle ':completion:*' menu select
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
zstyle ':completion:*' group-name ''
zstyle ':completion:*:descriptions' format '%F{#e79cfe}── %d ──%f'
# ── Couleurs grep ─────────────────────────────────────────────────────────────
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
# ── eza (remplace ls) ─────────────────────────────────────────────────────────
alias ls='eza --icons --color=always --group-directories-first'
alias ll='eza -l --icons --git --group-directories-first'
alias lt='eza --tree --icons'
export LS_COLORS="$(bash ~/.local/share/violet-chaton/violet-chaton-ls-colors.sh)"
# ── bat (remplace cat) ────────────────────────────────────────────────────────
alias bat='batcat'
alias cat='batcat --paging=never'
export MANPAGER="sh -c 'col -bx | batcat -l man -p'"
# ── fd (remplace find) ────────────────────────────────────────────────────────
alias fd='fdfind'
# ── Nouveaux outils ───────────────────────────────────────────────────────────
alias lg='lazygit' # git TUI
alias rg='rg --color=always' # ripgrep avec couleurs
alias disk='ncdu' # analyse disque
alias man='tldr' # man pages simplifiées
alias pipes='pipes.sh' # animation pipes
fuck() { eval "$(thefuck --alias 2>/dev/null)"; fuck "$@"; } # init paresseux
# ── fzf ───────────────────────────────────────────────────────────────────────
[ -f /usr/share/doc/fzf/examples/key-bindings.zsh ] && source /usr/share/doc/fzf/examples/key-bindings.zsh
[ -f /usr/share/doc/fzf/examples/completion.zsh ] && source /usr/share/doc/fzf/examples/completion.zsh
# Raccourcis fzf personnalisés
bindkey -r '^T' # libère Ctrl+T
bindkey -r '\ec' # libère Alt+C
bindkey '^G' fzf-file-widget # Ctrl+G → chercher un fichier
bindkey '^F' fzf-cd-widget # Ctrl+F → chercher un dossier
export FZF_DEFAULT_COMMAND='fdfind --type f --hidden --follow --exclude .git --exclude .cache --search-path $HOME'
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
export FZF_ALT_C_COMMAND='fdfind --type d --hidden --follow --exclude .git --exclude .cache --search-path $HOME'
export FZF_DEFAULT_OPTS="
--height 40% --layout=reverse --border rounded --info=hidden
--preview 'batcat --color=always --style=plain --line-range=:80 {}'
--preview-window 'right:50%:wrap'
--color=bg+:#3d2454,bg:#341c4a,spinner:#ff79c6,hl:#8be9fd
--color=fg:#f8f8f2,header:#ff79c6,info:#e79cfe,pointer:#ff79c6
--color=marker:#a6e3a1,fg+:#f8f8f2,prompt:#e79cfe,hl+:#8be9fd"
# ── zoxide (remplace cd) ──────────────────────────────────────────────────────
eval "$(zoxide init zsh --cmd cd)"
# ── Fastfetch ─────────────────────────────────────────────────────────────────
alias fetch='fastfetch --config ~/.config/fastfetch/config.jsonc --raw <(chafa --size 44x22 --symbols vhalf --color-space rgb "$HOME/.config/fastfetch/violet-chaton-logo.png") --logo-width 52'
fetch
# ── zsh-autosuggestions ───────────────────────────────────────────────────────
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=#6c7086"
ZSH_AUTOSUGGEST_STRATEGY=(history completion)
ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE=20
bindkey '^ ' autosuggest-accept # Ctrl+Space pour accepter la suggestion
# ── zsh-syntax-highlighting (couleurs violet-chaton) ─────────────────────────
ZSH_HIGHLIGHT_STYLES[command]='fg=#8be9fd'
ZSH_HIGHLIGHT_STYLES[builtin]='fg=#ff79c6'
ZSH_HIGHLIGHT_STYLES[alias]='fg=#e79cfe'
ZSH_HIGHLIGHT_STYLES[function]='fg=#8be9fd'
ZSH_HIGHLIGHT_STYLES[string]='fg=#e79cfe'
ZSH_HIGHLIGHT_STYLES[path]='fg=#f8f8f2,underline'
ZSH_HIGHLIGHT_STYLES[unknown-token]='fg=#f38ba8,bold'
ZSH_HIGHLIGHT_STYLES[reserved-word]='fg=#ff79c6'
ZSH_HIGHLIGHT_STYLES[comment]='fg=#6c7086,italic'
ZSH_HIGHLIGHT_STYLES[globbing]='fg=#f9e2af'
ZSH_HIGHLIGHT_STYLES[history-expansion]='fg=#f9e2af'
# ── atuin (remplace Ctrl+R) ───────────────────────────────────────────────────
[[ -f ~/.atuin/bin/env ]] && source ~/.atuin/bin/env
command -v atuin &>/dev/null && eval "$(atuin init zsh --disable-up-arrow)"
# ── starship ──────────────────────────────────────────────────────────────────
command -v starship &>/dev/null && eval "$(starship init zsh)"