Commit graph

60 commits

Author SHA1 Message Date
9440d89862 CLAUDE.md: auto-boot EFI-Variable dokumentiert
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 09:50:05 +01:00
94efa8be97 setup-base: auto-boot beim Netzteil-Anstecken deaktivieren
MacBooks starten sonst automatisch wenn sie im Akkubetrieb
heruntergefahren wurden und ein Netzteil angesteckt wird.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 09:49:32 +01:00
e8d353c69e setup-base: git.motocamp.de auf NPM-IP (10.47.11.23) statt Synology direkt
Gitea laeuft hinter dem Nginx Proxy Manager (macvlan). Direkter
Zugriff auf die Synology-IP liefert DSM statt Gitea.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 09:36:48 +01:00
63fcced450 setup-base: git.motocamp.de in /etc/hosts aufgenommen
Synology-Dienste (dsm + git) sind intern nicht per DNS erreichbar.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 09:33:39 +01:00
e41a08ff0c CLAUDE.md: Tastatur-Deadkeys und hosts-Eintrag dokumentiert
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 10:52:27 +01:00
0b5a5ae997 Tastatur: nodeadkeys durch deadkeys ersetzt
Mit nodeadkeys werden Akzente nicht kombiniert (´e statt é).
Deadkeys-Variante ermoeglicht korrekte Akzent-Eingabe.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 10:50:04 +01:00
3d9e15d8ab setup-base: /etc/hosts Eintrag fuer dsm.motocamp.de
Synology DiskStation ist intern nicht per DNS erreichbar.
Ohne den hosts-Eintrag schlaegt Thunderbird/MailPlus fehl.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 10:42:02 +01:00
346e348815 setup-desktop: .zshrc aus dotfiles-rene per Symlink statt inline
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.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 09:59:43 +01:00
091fb2337e Bitwarden als Snap in setup-base.sh aufgenommen
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 09:49:54 +01:00
8e17d2b150 Veraltete INSTALL.md entfernt (Ablauf steht jetzt in README.md)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 09:29:52 +01:00
14ae8573c2 README: blacklist-nvidia.conf Beschreibung praezisiert
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 09:29:26 +01:00
22e02ddcf5 README: Sync-Befehle (gitsync, mac-sync) dokumentiert
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 09:26:03 +01:00
cba5f63a4e mac-sync Alias: git-sync-all.sh direkt vom Gitea-Server ausfuehren
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 09:24:32 +01:00
cea17088f8 README aktualisiert: Stock ISO statt custom, AMD statt Nvidia, aktueller Ablauf
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 09:16:46 +01:00
1e04028342 gitsync Alias in .zshrc ergaenzt
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 08:29:52 +01:00
fa40de7429 Claude Code Permissions aktualisiert
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 08:18:39 +01:00
564fd365d4 CLAUDE.md mit allen Projekt-Erkenntnissen fuer portable Nutzung
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 08:15:31 +01:00
f35bed5598 Falsche Peer-PublicKeys in m16/m13 WireGuard-Configs korrigiert
- 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

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 20:26:29 +01:00
13177aba11 WireGuard via NM .nmconnection + sudoers-Fix fuer macOS-Installer
- sudoers: macOS-Version durch Linux-Standard ersetzen (secure_path,
  @includedir /etc/sudoers.d), NOPASSWD fuer rene
- WireGuard: statt wg-quick .nmconnection direkt schreiben mit DNS,
  dns-search ~., autoconnect, persistent Keys (private-key-flags=0)
- m13.conf/m16.conf: PostUp/PostDown entfernt (wg-quick-spezifisch)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 19:35:42 +01:00
72a177e0e5 WireGuard DNS via resolvectl statt DNS= Direktive
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.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 08:54:24 +01:00
4a4e08a302 Autostart fuer setup-desktop.sh auch in setup-base.sh anlegen
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.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 18:37:32 +01:00
8102d9ea40 WLAN als NetworkManager-Profil anlegen statt nmcli connect
nmcli connect ist nicht persistent wenn NM noch nicht laeuft.
Stattdessen .nmconnection-Datei direkt schreiben — ueberlebt Reboot
und verbindet automatisch.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 18:34:11 +01:00
8e0c2d8e11 git installieren falls nicht vorhanden (Ubuntu Minimized)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 18:06:59 +01:00
fe5a515bfe Autostart-Eintrag vor setup-base.sh anlegen
Autostart fuer setup-desktop.sh wird jetzt in Phase 2 erstellt
(vor setup-base.sh), damit er auch bei Abbruch vorhanden ist.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 17:54:06 +01:00
351a3d5ffe WireGuard DNS-Fix: PiHole primaer, Stub-Resolver umgehen
- 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

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 17:43:26 +01:00
4c2fa87209 Repos lokal klonen vor Setup, WireGuard automatisch deployen
- setup.sh klont macbook-setup + dotfiles-rene lokal (Credentials
  einmalig im interaktiven Terminal statt im Autostart)
- setup-base.sh nutzt lokale Dateien wenn vorhanden (wget-Fallback
  fuer Autoinstall bleibt erhalten), deployed WireGuard-Config
- wireguard/ aus .gitignore entfernt, Configs werden getrackt
- WireGuard aus manueller Checkliste entfernt

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 16:52:48 +01:00
f6e7807d19 Autostart: Skript erst herunterladen, dann lokal ausfuehren
curl|bash hat kein echtes stdin fuer interaktive Eingaben (Git-Credentials).
Skript wird jetzt nach /tmp heruntergeladen und lokal ausgefuehrt.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 19:24:44 +01:00
16ef6e09fc xubuntu-desktop durch xubuntu-core ersetzen (minimaler Desktop)
Weniger vorinstallierte Apps, schnellere Installation.
LibreOffice (Snap), Thunderbird (apt) und Brave (Flatpak) werden separat installiert.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 18:44:17 +01:00
042f650e34 Brave/LibreOffice auf Flatpak/Snap, HiDPI-Fix, Autostart mit Terminal
- Brave: .deb entfernt (crasht mit SIGTRAP auf aelterer HW), Flatpak statt dessen
- LibreOffice: apt entfernt (Installationsfehler), Snap statt dessen
- default-jre entfernt (nur fuer LibreOffice .deb noetig)
- flatpak Paket in setup-base.sh (kein sudo in setup-desktop.sh noetig)
- HiDPI: DPI 96 statt 128, Cursor 48, xfwm4 Default-xhdpi Theme
- Autostart oeffnet Terminal-Fenster fuer interaktive Eingaben

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 18:29:20 +01:00
48e8acea92 Fix LibreOffice (default-jre) und Brave (--disable-gpu) auf MBP 16"
- default-jre Paket hinzugefügt: behebt "javaldx failed" in LibreOffice
- Brave Browser: --disable-gpu in .desktop für MBP 16" (AMD geblockt,
  Intel i915 allein verursacht Crash mit "Trace/Breakpoint")

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 19:47:54 +01:00
fe0978c72e Fix setup-desktop.sh: set -e entfernt, Unicode durch ASCII ersetzt
- set -e entfernt (bricht bei jedem Fehler ab)
- Unicode-Zeichen (✓ ⚠ ✗ ═) durch ASCII ersetzt ([OK] [!!] [FAIL] =)
  verhindert Encoding-Fehler bei curl|bash
- LANG=en_US.UTF-8 gesetzt

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 19:28:16 +01:00
b78ea22529 WLAN-Config beim Umstieg auf NetworkManager erhalten
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.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 19:26:20 +01:00
61066a43ed Fix Tastatur: iso_layout=1 + de nodeadkeys (nicht mac_nodeadkeys)
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

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 18:32:50 +01:00
5553e0e744 Fix read bei curl|bash: stdin von /dev/tty lesen
Bei curl|bash ist stdin die Pipe, nicht das Terminal.
read < /dev/tty liest direkt vom Terminal.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 06:27:27 +01:00
f9199a3f31 setup.sh: Reboot zwischen Phase 1 und 2, Autostart für Desktop-Setup
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.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 06:07:28 +01:00
7078299ac6 Robusteres setup-base.sh: GPU-Fix zuerst, kein set -e, idempotent
- 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

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 06:06:01 +01:00
c6ba3d9212 Fix build-iso.sh: Modell aus Hostname ableiten statt aus late-commands
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 21:09:35 +01:00
4f6320870b Autoinstall: late-commands reduzieren (kein Netzwerk im Installer)
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.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 21:08:55 +01:00
193d2bc496 Fix user-data YAML: Heredoc durch printf ersetzen
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.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 20:39:59 +01:00
c0e934f8e7 Fix autoinstall.yaml: user-data 1:1 kopieren statt sed-Transformation
Die sed-Transformation hat die YAML-Struktur zerstört — Heredoc-Zeilen
im late-commands Block ([Desktop Entry] etc.) landeten auf Spalte 0 und
brachen den YAML-Parser. user-data direkt als autoinstall.yaml verwenden,
#cloud-config ist ein YAML-Kommentar und autoinstall: als Top-Level-Key
wird von Subiquity 24.04 unterstützt.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 20:28:05 +01:00
8475f329d4 Fix Autoinstall: Subiquity-Weg statt nur cloud-init NoCloud
- autoinstall.yaml im ISO-Root (direkter Subiquity-Weg, Ubuntu 24.04+)
- Kernel-Parameter subiquity.autoinstallpath als Backup
- NoCloud ds=nocloud + cloud-config-url=/dev/null als Fallback

Ubuntu 24.04 Subiquity sucht in dieser Reihenfolge:
1. subiquity.autoinstallpath= (Kernel-Parameter)
2. Root des Installationssystems
3. cloud-config (cloud-init)
4. Root des Installationsmediums (autoinstall.yaml)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 20:06:03 +01:00
2cb784a51a Tastatur-Fix, Zsh-Tooling, cloud-init, Autoinstall-Fix
setup-base.sh:
- Tastatur: mac_nodeadkeys + iso_layout=0 (fixt ^/< Swap, @ auf Alt+L)
- Neue Pakete: libheif-examples, imagemagick, pipx, zoxide, micro
- cloud-init deaktivieren (blockiert Boot ohne Cloud-Provider)
- dpkg-reconfigure nach Keyboard-Änderung

setup-desktop.sh:
- Powerlevel10k + zsh-syntax-highlighting von GitHub klonen
- MesloLGS NF Fonts installieren
- PlatformIO via pipx
- .zshrc deployen (Linux-Version mit allen Aliases)
- .p10k.zsh aus dotfiles-rene deployen
- git-check-all.sh + git-update-all.sh verlinken
- XFCE Keyboard-Override deaktivieren (XkbDisable)
- XFCE Terminal auf MesloLGS NF setzen
- DPMS-Werte gestaffelt (5/6/7 Min statt alle 10)

build-iso.sh:
- cloud-config-url=/dev/null (Fix für Ubuntu 24.04 Autoinstall)

user-data:
- Keyboard-Variante mac_nodeadkeys

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 19:55:58 +01:00
ef7c660c82 WireGuard-Config ins ISO einbetten (wireguard/ Ordner, .gitignore)
- build-iso.sh erkennt Modell/Hostname aus user-data und sucht
  passende Config in wireguard/{hostname}.conf oder wireguard/m{model}.conf
- user-data: late-commands kopieren wg0.conf vom Installationsmedium
  nach /etc/wireguard/ und aktivieren wg-quick@wg0
- wireguard/ in .gitignore (keine Secrets im Repo)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 19:29:59 +01:00
1ce585cd94 Fix Brave Browser: neue offizielle APT-Repository-URL
Alte URL brave-releases.s3.brave.com existiert nicht mehr,
neue URL ist brave-browser-apt-release.s3.brave.com mit .sources-Format.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 16:47:01 +01:00
5e4e2eb825 PrusaSlicer: AppImage durch Flatpak ersetzen (kein Linux-AppImage mehr ab 2.9.x)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 11:46:21 +01:00
fc2374e268 Set DPI to 128 for MBP 16" Retina (Scale 2x + 128 DPI)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 11:44:54 +01:00
7719026c36 Rewrite MBP 16": AMD Radeon statt Nvidia, NetworkManager, Retina-Fix
Erkenntnisse vom MBP 15" Mid 2014 Setup:
- GPU ist AMD Radeon R9 M370X (nicht Nvidia!)
- Radeon/amdgpu blacklisten statt Nvidia-Module
- Kein nomodeset noetig — i915 laeuft ohne
- xfce4-display-settings per dpkg-divert deaktivieren
  (oeffnet sich sonst in Endlosschleife bei fehlender dGPU)
- Display-Skalierung 2x / DPI 168 fuer Retina
- NetworkManager statt netplan fuer WLAN
- systemd-networkd-wait-online deaktivieren (Boot haengt sonst)
- INSTALL.md komplett aktualisiert mit neuen Troubleshooting-Eintraegen

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 11:39:26 +01:00
de67fff30c Fix MBP 16": Nvidia blacklisten, nomodeset, Compositor aus, SSH, sudo
Probleme beim ersten MBP 16" Setup behoben:
- Nvidia-Treiber werden NICHT mehr installiert, stattdessen alle
  Nvidia-Module komplett geblockt (blacklist-nvidia.conf)
- GRUB: nomodeset fuer MBP 16" (verhindert GPU-Artefakte)
- XFCE Compositor deaktiviert fuer MBP 16"
- Sleep/Suspend waehrend Installation verhindert
- openssh-server in Paketliste (SSH-Zugriff ab erstem Boot)
- user-data: rene zur sudo-Gruppe, install-server: true
- FreeCAD Snap: Fehler in chroot abfangen

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 09:22:19 +01:00
32b49f81a5 Fix setup-base.sh: freecad via snap statt apt (nicht in Ubuntu 24.04 Repos)
Aktualisiert auch INSTALL.md mit realistischem Installationsablauf
(TTY-Login nach Autoinstall, Prüfung ob setup-base.sh gelaufen ist).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 08:20:59 +01:00
d8f765ffd6 Add .gitignore: exclude ISOs and .DS_Store
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 21:45:58 +01:00