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.
121 lines
7.9 KiB
Bash
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)"
|