Fokus auf sichere, testbare Pakete (zsh, Terminal-Tools, Spass-Tools).
System-spezifisches (XFCE, HiDPI, WireGuard, Energie) wird vor Ort
auf dem Asahi-System eingerichtet und getestet.
API-Key ueber ~/.secrets verursacht Zusatzkosten (separates
API-Abrechnungssystem, nicht im Claude-Abo enthalten). Claude Code
authentifiziert sich stattdessen per OAuth-Login ueber das Abo.
asciiquarium benoetigt das Perl-Modul Term::Animation, das weder in
apt verfuegbar ist noch automatisch mitinstalliert wird. Installiert
libcurses-perl (apt) und Term::Animation (CPAN) vor asciiquarium.
Die .zshrc wird jetzt im dotfiles-rene Repo gepflegt und per
install-zsh-dotfiles.sh als Symlink installiert. Aenderungen
an Aliases kommen damit automatisch per git pull / mac-sync.
- m16.conf/m13.conf: Peer-PublicKey war der eigene statt der des Servers,
dadurch wurde kein Peer geladen und DNS/VPN funktionierte nicht
- setup-base.sh: AllowedIPs Komma→Semikolon fuer NM-Format
wg-quick DNS= setzt catch-all (~.) ueber resolvconf, was
systemd-resolved Stub-Resolver blockiert. Flatpak-Apps (Brave,
PrusaSlicer) koennen 127.0.0.53 nicht erreichen und haben
kein DNS. Fix: PostUp/PostDown mit resolvectl fuer korrektes
Interface-basiertes DNS. resolv.conf zeigt auf stub-resolv.conf.
Der Autostart-Eintrag aus setup.sh ging beim ersten XFCE-Start
verloren. Jetzt wird er zusaetzlich am Ende von setup-base.sh
angelegt (als root), damit er zuverlaessig vorhanden ist.
nmcli connect ist nicht persistent wenn NM noch nicht laeuft.
Stattdessen .nmconnection-Datei direkt schreiben — ueberlebt Reboot
und verbindet automatisch.
- DNS in allen WireGuard-Configs: 10.47.11.20 (PiHole) + 10.47.11.1
(Fritz!Box Fallback), redundantes PiHole auf .21 entfernt
- resolv.conf Symlink auf upstream statt stub (127.0.0.53), da
systemd-resolved mit WireGuard DNS catch-all (~.) nicht funktioniert
Vor dem Löschen der netplan-Config werden SSID und Passwort
extrahiert und nach dem Wechsel zu NetworkManager als neue
Verbindung eingerichtet. Verhindert WLAN-Verlust nach Reboot.
Apple ISO-Keyboards senden ^/< Keycodes vertauscht.
iso_layout=1 korrigiert das auf Kernel-Ebene.
de(mac_nodeadkeys) hat eigene TLDE-Zuordnung die mit iso_layout
kollidiert. de(nodeadkeys) + lv3:lalt_switch ist die richtige Kombi:
- ^/< korrekt, @=Alt+Q, |=Alt+<, {}[]=Alt+7890
setup-desktop.sh braucht laufende XFCE-Session und die Hardware-Fixes
aus setup-base.sh (GPU-Blacklist, Treiber) erfordern einen Reboot.
Daher: setup-base.sh sofort ausführen, setup-desktop.sh als XFCE-
Autostart einrichten, Reboot dazwischen.
- set -e entfernt (Script bricht nicht mehr bei einzelnen Fehlern ab)
- GPU-Blacklist + hid_apple + Keyboard als SCHRITT 1 (vor apt install)
- dpkg --configure -a VOR Paketinstallation (repariert unterbrochene Installs)
- update-initramfs direkt nach Hardware-Fixes
- cloud-init früh deaktivieren
- Fehlerbehandlung mit || warn/fail statt Abbruch
- Zusammenfassung am Ende mit nächsten Schritten
Broadcom-WLAN hat keinen Treiber in der Live-Umgebung, daher
schlagen alle Netzwerk-abhängigen late-commands fehl. Nur noch
usermod -aG sudo rene als late-command. setup-base.sh und
setup-desktop.sh werden nach manueller WLAN-Einrichtung gestartet.
Der Bash-Heredoc <<AUTOSTART erzeugte Zeilen auf Spalte 0
([Desktop Entry], Type=Application etc.), die den YAML-Parser
von Subiquity brachen. Durch printf mit \n ersetzt.