README beschreibt jetzt shell/ und den Ein-Zeilen-Aufruf ohne Token; Farbregel (Rot nur als Grafik, #E0454F fuer Text) steht dort, wo sie gelesen wird. SKILL.md auf 1.3.0 mit Abschnitt Shell/Terminal. CHANGELOG ohne Maschinen- und Hostnamen (Inhaltsregel). install.sh holt prompt.zsh bei Pipe-Aufruf ueber KALINA_CI_RAW. docs/aenderungen.md: Shell-Rollout per Skript nachziehen.
69 lines
2.8 KiB
Markdown
69 lines
2.8 KiB
Markdown
# Kalina CI in der Shell
|
||
|
||
Prompt und Terminal-Palette in derselben Farbwelt wie das VS-Code-Theme
|
||
(`themes/kalina-ci-dark.json`). Der Prompt ist ein eigenstaendiges zsh-Modul,
|
||
kein oh-my-zsh und kein powerlevel10k noetig.
|
||
|
||
```
|
||
┌─ kalina ~/kalina-ci · main ✚1 ✎2 · 4.2s
|
||
└─ ❯
|
||
```
|
||
|
||
| Farbe | Wert | Rolle |
|
||
|---|---|---|
|
||
| Tinte | `#0B0F14` | Flaeche |
|
||
| Knochenweiss | `#F5F5EF` | Text, Pfad |
|
||
| Markenrot | `#C1121F` | **nur Grafik** (Pfeil, Cursor) — 3,09:1 auf Tinte |
|
||
| Text-Rot | `#E0454F` | Fehlercode, Akzent — 4,70:1 auf Tinte |
|
||
| Salbei | `#7FA88C` | **nur** Git „hinzugefuegt" |
|
||
| Steel | `#3A4250` | Linien |
|
||
| Muted | `#8A94A2` | Hostname |
|
||
|
||
## Installation auf einer neuen Maschine
|
||
|
||
```sh
|
||
# oder direkt, ohne Klon (Repo ist oeffentlich lesbar):
|
||
# curl -fsSLo install.sh https://gitea.m-m.bio/mm/kalina-ci/raw/branch/main/shell/install.sh
|
||
git clone https://gitea.m-m.bio/mm/kalina-ci.git
|
||
cd kalina-ci/shell
|
||
./install.sh --dry-run # zeigen, was passieren wuerde
|
||
./install.sh # ausfuehren
|
||
```
|
||
|
||
Das Skript ist idempotent, sichert jede Datei nach `.vor-kalina-ci-<stempel>`
|
||
und laesst sich in Teilen fahren:
|
||
|
||
| Schalter | Wirkung |
|
||
|---|---|
|
||
| `--dry-run` | nichts schreiben, nur anzeigen |
|
||
| `--shell-only` | nur zsh + Prompt |
|
||
| `--terminal-only` | nur Terminal-Palette |
|
||
| `--no-chsh` | Login-Shell nicht umstellen |
|
||
|
||
Erkannt und eingerichtet werden: **foot** (`~/.config/foot/foot.ini`,
|
||
`[colors-dark]`), **qterminal** (`~/.local/share/qterminal-ci/…/KalinaCI.colorscheme`
|
||
plus `~/.config/qterminal.org/qterminal.ini` und ein `environment.d`-Eintrag,
|
||
weil qtermwidget6 nur `XDG_DATA_DIRS` durchsucht), **xfce4-terminal**
|
||
(`~/.config/xfce4/terminal/terminalrc` **und** `xfconf-query`, sonst gewinnt
|
||
das GTK-Theme) sowie **xterm** (`~/.Xresources`, aktiv nach `xrdb -merge`).
|
||
|
||
## Schalter im Prompt
|
||
|
||
| Variable | Wirkung |
|
||
|---|---|
|
||
| `KALINA_CI_PROMPT=0` | Prompt abschalten (Modul wird nicht geladen) |
|
||
| `KALINA_CI_NO_NEWLINE=1` | keine Leerzeile vor dem Prompt |
|
||
| `KALINA_CI_TRUECOLOR=0\|1` | Farbmodus erzwingen (sonst Automatik) |
|
||
|
||
## Fallen, die beim Ausrollen aufgefallen sind
|
||
|
||
- **Truecolor kommt per SSH nicht an.** `COLORTERM` wird nicht uebertragen, remote
|
||
greift der 256-Farben-Ersatz (231/145/60/161 statt exakt). Das ist gewollt.
|
||
- **Der erste Prompt darf kein `✗1` zeigen.** `precmd` liest `$?` aus dem Ende der
|
||
`.zshrc`; das Modul setzt den ersten echten Prompt deshalb auf 0.
|
||
- **p10k wird abgeloest, nicht umgef aerbt.** Wer `~/.p10k.zsh` behaelt, muss
|
||
`ZSH_THEME=""` setzen und die Instant-Prompt-Zeilen samt `fi` auskommentieren —
|
||
sonst startet jede Shell mit `parse error near 'fi'`.
|
||
- **Login-Shell-Wechsel:** nicht-interaktive zsh-Aufrufe (`ssh host '…'`) brechen bei
|
||
leerem Glob ab, bash nicht. Das Modul setzt deshalb `no_nomatch` in `~/.zshenv`.
|