Files
docs/linux/zsh.md
T

105 lines
4.1 KiB
Markdown

# Zsh & KDE Plasma Setup Guide
Diese Anleitung dient zur schnellen Wiederherstellung eines personalisierten Terminal-Setups (Zsh, Powerlevel10k, Eza, Zsh-Autocomplete) auf einem frisch installierten Arch-basierten System.
## 1. Paketübersicht
- `zsh`: Eine erweiterte, POSIX-kompatible Shell mit starker Autovervollständigung und Plugin-Support.
- `fzf`: Ein extrem schneller, interaktiver Befehlszeilen-Finder für die Historie und Dateien.
- `eza`: Ein moderner, farbenfroher Ersatz für ls, der Datei-Icons und Git-Integration bietet.
- `git`: Das Standard-Versionsverwaltungstool für Softwareprojekte.
- `zsh-autocomplete`: Ein Plugin, das ein interaktives IDE-ähnliches IntelliSense-Menü während des Tippens bereitstellt.
- `powerlevel10k`: Ein hochgradig anpassbares und extrem performantes Theme für den Terminal-Prompt.
## 2. System-Pakete installieren
Zuerst werden die benötigten Basis-Pakete über `pacman` installiert. Da CachyOS einiges bereits vorinstalliert hat, dient dies zur Absicherung.
```bash
sudo pacman -S zsh fzf eza git
```
## 3. Standard-Shell auf Zsh wechseln
Damit das Terminal (Konsole) standardmäßig mit der Zsh startet, muss die Login-Shell geändert werden:
```bash
chsh -s /bin/zsh
```
*Hinweis: Danach einmal aus der KDE Plasma Sitzung abmelden und neu anmelden, damit die Änderung aktiv wird.*
## 4. Zsh-Autocomplete (IntelliSense) installieren
Wir installieren `zsh-autocomplete` für das automatische IDE-ähnliche Vervollständigungsmenü während des Tippens:
```bash
# Ordner für eigene Plugins erstellen und Repository klonen
mkdir -p ~/.zsh
git clone --depth 1 https://github.com/marlonrichert/zsh-autocomplete.git ~/.zsh/zsh-autocomplete
```
## 5. Powerlevel10k Prompt einrichten
Da die `.p10k.zsh` sehr umfangreich ist, wird das Prompt-Design (Icons, Style, Uhrzeit) am besten frisch über den interaktiven Wizard generiert:
```bash
p10k configure
```
## 6. Die Konfigurationsdatei (`~/.zshrc`)
Erstelle oder ersetze `~/.zshrc` mit folgendem Inhalt. Diese Version enthält spezifische Umgebungspfade (Cargo, LM Studio) und korrigierte eza-Aliase:
```bash
# --- Powerlevel10k Initialization ---
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
# --- CachyOS Base Config (falls vorhanden) ---
if [ -f /usr/share/cachyos-zsh-config/zshrc ]; then
source /usr/share/cachyos-zsh-config/zshrc
fi
# --- CachyOS Base Config ---
source /usr/share/cachyos-zsh-config/cachyos-config.zsh
# --- Umgebungsvariablen & Pfade ---
. "$HOME/.cargo/env"
export PATH="$PATH:/home/ghost/.lmstudio/bin"
# --- Powerlevel10k Theme laden ---
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
# --- Plugins laden ---
source ~/.zsh/zsh-autocomplete/zsh-autocomplete.plugin.zsh
# Kollidierende CachyOS-Autosuggestions explizit deaktivieren
unset ZSH_AUTOSUGGEST_STRATEGY
# --- Key-Bindings für KDE Konsole (Pos1 / Ende) ---
bindkey '^[[H' beginning-of-line
bindkey '^[[F' end-of-line
# --- Moderne Aliase (eza statt ls) ---
alias ls='eza --icons=always --group-directories-first'
alias ll='eza -lah --icons=always --group-directories-first --git'
alias lt='eza --tree --level=2 --icons=always'
# --- Eigene Komfort-Aliase ---
alias update='sudo pacman -Syu'
alias g='git'
```
## 7. KDE Konsole & "Rice" Profileinstellungen
Um die Optik perfekt auf den Plasma Desktop abzustimmen, wird ein eigenes Konsole-Profil genutzt:
1. Neues Profil erstellen: Öffne `Konsole -> Einstellungen -> Profile verwalten... -> Neues Profil...` (als Standard setzen).
2. Schriftart: Unter Erscheinungsbild sicherstellen, dass die Schriftart auf `Hack 10pt` steht (unterstützt standardmäßig alle benötigten Nerd Font Symbole).
3. Farbschema & Transparenz:
- Im Reiter Erscheinungsbild das Farbschema `Catppuccin Mocha` (oder Macchiato) herunterladen und auswählen.
- Auf Bearbeiten... des Farbschemas klicken und die Hintergrundfarbe auf eine Transparenz von 10% einstellen.
## 7. Setup anwenden
Nachdem alle Schritte abgeschlossen sind, kann die Konfiguration im Terminal direkt live angewendet werden:
```bash
exec zsh
```