fix(shell): zsh-Pflicht im Installer durchsetzen und benennen

Der Installer installiert zsh bei Bedarf selbst (apt-get, dnf, pacman, zypper, apk) und sagt das im Kopf und in der Ausgabe. Ohne zsh bricht der Shell-Teil jetzt VOR dem ersten Schreibzugriff ab (Exit 1, Befehl genannt, ~/.zshrc unangetastet), statt einen wirkungslosen Prompt-Eintrag zu hinterlassen. install_zsh meldet Erfolg nur bei echtem Fund im PATH, chsh-Fehler werden gemeldet, Abschlusszeile nennt Exit-Status.
This commit is contained in:
Kalina committed 2026-11-02 19:07:16 +01:00
1 parent ca90ac08cc
commit ed85797eda
5 files changed
+110 -13

No files matched your search

+26 -1
View File
@@ -19,6 +19,31 @@ kein oh-my-zsh und kein powerlevel10k noetig.
| Steel | `#3A4250` | Linien |
| Muted | `#8A94A2` | Hostname |
## zsh ist Pflicht
Der Prompt ist zsh-Syntax in `~/.zshrc`. In bash, fish oder sh passiert nichts — auch dann
nicht, wenn die Datei korrekt geschrieben wurde. Deshalb:
1. **Fehlt zsh, installiert `install.sh` ihn selbst** — `apt-get`, `dnf`, `pacman`, `zypper`
oder `apk`, je nach System. Der Versuch steht als erste Zeile im Shell-Teil.
2. **Geht das nicht** (kein bekannter Paketmanager, oder `sudo` verlangt ein Passwort ohne
`-n`), bricht der Shell-Teil **vor** dem ersten Schreibzugriff ab, nennt den genauen Befehl
und endet mit Exit 1. `~/.zshrc` bleibt dann unangetastet — ein Eintrag dort waere in bash
ohnehin wirkungslos.
3. **Login-Shell**: `chsh -s <zsh>` laeuft am Ende (abschaltbar mit `--no-chsh`). Wirksam wird
es erst in der naechsten Sitzung: `exec zsh` fuer sofort, sonst neu einloggen.
Wer zsh von Hand nachzieht:
```sh
sudo apt-get install -y zsh # Debian/Ubuntu
sudo dnf install -y zsh # Fedora
sudo pacman -S --needed zsh # Arch
sudo zypper install -y zsh # openSUSE
sudo apk add zsh # Alpine
bash install.sh # danach erneut
```
## Installation auf einer neuen Maschine
```sh
@@ -38,7 +63,7 @@ und laesst sich in Teilen fahren:
| `--dry-run` | nichts schreiben, nur anzeigen |
| `--shell-only` | nur zsh + Prompt |
| `--terminal-only` | nur Terminal-Palette |
| `--no-chsh` | Login-Shell nicht umstellen |
| `--no-chsh` | Login-Shell nicht umstellen (Prompt bleibt, bis du `zsh` startest) |
Erkannt und eingerichtet werden: **foot** (`~/.config/foot/foot.ini`,
`[colors-dark]`), **qterminal** (`~/.local/share/qterminal-ci/…/KalinaCI.colorscheme`