diff --git a/CLAUDE.md b/CLAUDE.md index 0f14a64..3ee3819 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -36,17 +36,17 @@ die Setup-Skripte nicht heruntergeladen werden. - Wenn Befehle auf dem MacBook noetig sind: per `ssh rene@` verbinden und dort ausfuehren (statt den User bitten, Befehle abzutippen) ## Paketquellen-Zuordnung -- **apt:** System-Pakete, xubuntu-desktop, Thunderbird, KeePassXC, default-jre etc. -- **Snap:** FreeCAD, LibreOffice (wegen "benutzerdefinierte Installation nicht abgeschlossen" Bug bei .deb), Bitwarden -- **Flatpak:** Brave Browser (wegen SIGTRAP/int3 Crash bei .deb auf aelterer HW), PrusaSlicer +- **apt:** System-Pakete, xubuntu-desktop, KeePassXC, Kitty, Brave Browser, default-jre etc. +- **Snap:** FreeCAD, LibreOffice (wegen "benutzerdefinierte Installation nicht abgeschlossen" Bug bei .deb), Bitwarden, Thunderbird +- **Flatpak:** PrusaSlicer - flatpak muss in setup-base.sh (root) installiert werden, nicht in setup-desktop.sh (user) ## Geloeste Probleme (Lessons Learned) ### Brave Browser -- .deb Version crasht mit SIGTRAP (int3) auf aelterer Hardware -- AppArmor `apparmor_restrict_unprivileged_userns=1` war NICHT die Ursache -- Loesung: Flatpak verwenden +- .deb Version crashte frueher mit SIGTRAP (int3) auf aelterer Hardware +- Inzwischen funktioniert .deb/apt mit offiziellem Brave-Repo +- Loesung: apt mit Brave-Repo (in setup-base.sh) ### LibreOffice - .deb Version zeigt "benutzerdefinierte Installation nicht abgeschlossen" @@ -56,15 +56,37 @@ die Setup-Skripte nicht heruntergeladen werden. ### HiDPI / Retina Display - GDK WindowScalingFactor=2 + DPI=96 (NICHT 128!) - Cursor-Groesse: 48 +- GTK-Schrift: Noto Sans 10, Titelschrift: Noto Sans Bold 10 +- Panel-Hoehe: 28px (passend zur Schriftgroesse bei 2x-Skalierung) +- Referenz-Schriftgroesse: Kitty 18pt MesloLGS NF — Systemschriften sollen visuell dazu passen - xfwm4: Default-xhdpi Theme - XFCE Compositor deaktivieren - xfce4-display-settings deaktivieren (verursacht Endlosschleife) +### FaceTime HD Webcam +- Broadcom 1570, haengt am PCIe-Bus (nicht USB) — kein Treiber im Kernel +- Firmware: github.com/patjak/facetimehd-firmware (extrahiert aus macOS-Treiber) +- Treiber: github.com/patjak/bcwc_pcie, installiert via DKMS (automatischer Rebuild bei Kernel-Updates) +- Modul: facetimehd, autoload via /etc/modules-load.d/facetimehd.conf + ### Tastatur -- iso_layout=1 + de (mit Dead Keys, NICHT nodeadkeys) + lv3:lalt_switch +- iso_layout=1 + de (mit Dead Keys, NICHT nodeadkeys) + lv3:lalt_switch + ctrl:swap_lwin_lctl - nodeadkeys verhindert Akzent-Kombination (´e statt é) +- ctrl:swap_lwin_lctl tauscht Cmd und Ctrl (Mac-like Copy/Paste mit Cmd+C/V) - XFCE Keyboard-Override deaktivieren (XkbDisable) +### Terminal +- Kitty als Standard-Terminal (statt xfce4-terminal) +- xfce4-terminal bleibt installiert als Fallback +- Kitty Config: MesloLGS NF 18pt, copy_or_interrupt fuer Cmd+C (kopiert bei Selektion, sonst SIGINT) +- xfce4-terminal unterstuetzt kein Remapping von Ctrl+C/V auf Copy/Paste + +### Git / SSH +- SSH-Key (ed25519) wird in setup-desktop.sh generiert +- Forgejo SSH laeuft auf dsm.motocamp.de:2222 (nicht git.motocamp.de, nicht Port 22) +- Alle Repos werden automatisch von HTTPS auf SSH umgestellt +- git credential.helper store als Fallback bis SSH-Key in Forgejo hinterlegt ist + ### Netzwerk & WLAN - NetworkManager statt netplan fuer WLAN - WLAN-Config beim netplan-zu-NM Umstieg erhalten @@ -73,8 +95,9 @@ die Setup-Skripte nicht heruntergeladen werden. - /etc/hosts: dsm.motocamp.de → 10.47.11.10 (Synology direkt), git.motocamp.de → 10.47.11.23 (NPM/macvlan, da Gitea hinter Reverse Proxy) ### WireGuard VPN -- Konfiguration via NetworkManager .nmconnection (nicht wg-quick) -- DNS + dns-search direkt im NM-Profil +- Konfiguration via wg-quick (Config in /etc/wireguard/wg-vps.conf) +- DNS = 10.47.11.20 (Pihole) direkt in der WireGuard-Config +- Autostart via systemctl enable wg-quick@wg-vps - **Key-Verwechslung:** m16/m13 hatten eigenen PublicKey als Peer-PublicKey eingetragen. NM zeigt keinen Fehler, wg show zeigt einfach keine Peers. Immer pruefen: local public key darf NICHT gleich dem Peer-PublicKey sein. - Server-PublicKey gegen funktionierende Clients verifizieren diff --git a/setup-base.sh b/setup-base.sh index fce2423..3dbc64d 100755 --- a/setup-base.sh +++ b/setup-base.sh @@ -41,7 +41,7 @@ echo " setup-base.sh für MBP $MODEL\" startet" echo "════════════════════════════════════════════" # ── 0. sudoers reparieren (macOS-Installer hinterlässt macOS-sudoers) ────── -echo -e "\n=== 0/11 sudoers ===" +echo -e "\n=== 0/12 sudoers ===" cat > /etc/sudoers <<'SUDOEOF' Defaults env_reset Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" @@ -58,7 +58,7 @@ chmod 440 /etc/sudoers.d/rene ok "sudoers: Linux-Standard + NOPASSWD fuer rene" # ── 1. Kritische Hardware-Fixes ZUERST (vor allem anderen) ─────────────── -echo -e "\n=== 1/11 Hardware-Fixes ===" +echo -e "\n=== 1/12 Hardware-Fixes ===" # GPU: AMD Radeon blacklisten (MBP 16") if [[ "$MODEL" == "16" ]]; then @@ -89,7 +89,7 @@ cat > /etc/default/keyboard </dev/null || true ok "Tastatur: mac_deadkeys" @@ -105,23 +105,23 @@ update-initramfs -u 2>/dev/null || true ok "initramfs aktualisiert" # ── 2. Sleep/Suspend verhindern während Installation ───────────────────── -echo -e "\n=== 2/11 Sleep verhindern ===" +echo -e "\n=== 2/12 Sleep verhindern ===" systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target 2>/dev/null || true ok "Sleep/Suspend deaktiviert (für Installation)" # ── 3. Eventuelle unterbrochene Installationen reparieren ──────────────── -echo -e "\n=== 3/11 dpkg reparieren ===" +echo -e "\n=== 3/12 dpkg reparieren ===" dpkg --configure -a 2>/dev/null || true apt install -f -y 2>/dev/null || true ok "dpkg/apt repariert" # ── 4. System aktualisieren ────────────────────────────────────────────── -echo -e "\n=== 4/11 System aktualisieren ===" +echo -e "\n=== 4/12 System aktualisieren ===" apt update && apt upgrade -y || warn "apt upgrade hatte Probleme" ok "System aktuell" # ── 5. Pakete installieren ─────────────────────────────────────────────── -echo -e "\n=== 5/11 Pakete installieren ===" +echo -e "\n=== 5/12 Pakete installieren ===" apt install -y \ xubuntu-core \ bcmwl-kernel-source \ @@ -130,7 +130,7 @@ apt install -y \ tlp tlp-rdw \ git curl wget stow \ zsh neovim \ - build-essential \ + build-essential dkms \ python3 python3-pip python3-venv \ nodejs npm \ wireguard wireguard-tools \ @@ -140,8 +140,8 @@ apt install -y \ zoxide \ micro \ flatpak \ - thunderbird thunderbird-locale-de \ keepassxc \ + kitty \ htop btop cmatrix libcurses-perl cowsay fortune-mod fortunes-de \ bat eza fd-find fzf ripgrep tldr ncdu duf \ timeshift \ @@ -194,13 +194,62 @@ fi snap install freecad 2>/dev/null || warn "FreeCAD Snap uebersprungen" snap install libreoffice 2>/dev/null || warn "LibreOffice Snap uebersprungen" snap install bitwarden 2>/dev/null || warn "Bitwarden Snap uebersprungen" +snap install thunderbird 2>/dev/null || warn "Thunderbird Snap uebersprungen" -# ── 6. Brave Browser (wird in setup-desktop.sh als Flatpak installiert) ── -echo -e "\n=== 6/11 Brave Browser ===" -ok "Brave wird als Flatpak in setup-desktop.sh installiert" +# ── 6. FaceTime HD Webcam (Broadcom 1570, PCIe) ───────────────────────── +echo -e "\n=== 6/12 FaceTime HD Webcam ===" +if lspci | grep -qi "facetime"; then + if ! dkms status 2>/dev/null | grep -q "facetimehd"; then + # Firmware extrahieren + FTMP=$(mktemp -d) + git clone --depth 1 https://github.com/patjak/facetimehd-firmware.git "$FTMP/fw" \ + && make -C "$FTMP/fw" \ + && make -C "$FTMP/fw" install \ + && ok "facetimehd Firmware installiert" \ + || warn "facetimehd Firmware fehlgeschlagen" + # Treiber bauen und via DKMS installieren + git clone --depth 1 https://github.com/patjak/bcwc_pcie.git /usr/src/facetimehd-1.0 \ + && cat > /usr/src/facetimehd-1.0/dkms.conf <<'DKMSEOF' +PACKAGE_NAME="facetimehd" +PACKAGE_VERSION="1.0" +MAKE[0]="make -C /lib/modules/${kernelver}/build M=${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/build modules" +CLEAN="make -C /lib/modules/${kernelver}/build M=${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/build clean" +BUILT_MODULE_NAME[0]="facetimehd" +DEST_MODULE_LOCATION[0]="/updates" +AUTOINSTALL="yes" +DKMSEOF + dkms add facetimehd/1.0 \ + && dkms build facetimehd/1.0 \ + && dkms install facetimehd/1.0 \ + && ok "facetimehd DKMS-Treiber installiert" \ + || warn "facetimehd DKMS fehlgeschlagen" + rm -rf "$FTMP" + else + ok "facetimehd bereits via DKMS installiert" + fi + # Modul beim Boot laden + echo "facetimehd" > /etc/modules-load.d/facetimehd.conf + # Modul jetzt laden (falls nicht in chroot) + if [[ "$(stat -c %d:%i /)" == "$(stat -c %d:%i /proc/1/root/.)" ]] 2>/dev/null; then + modprobe facetimehd 2>/dev/null || true + fi +else + ok "Keine FaceTime-Kamera erkannt — uebersprungen" +fi -# ── 7. Systemkonfigurationen ───────────────────────────────────────────── -echo -e "\n=== 7/11 Systemkonfigurationen ===" +# ── 7. Brave Browser (apt-Repo) ────────────────────────────────────────── +echo -e "\n=== 7/12 Brave Browser ===" +if ! command -v brave-browser &>/dev/null; then + curl -fsSLo /tmp/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg + install -o root -g root -m 644 /tmp/brave-browser-archive-keyring.gpg /usr/share/keyrings/brave-browser-archive-keyring.gpg + echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg] https://brave-browser-apt-release.s3.brave.com/ stable main" > /etc/apt/sources.list.d/brave-browser-release.list + apt update -qq && apt install -y brave-browser + rm -f /tmp/brave-browser-archive-keyring.gpg +fi +ok "Brave Browser installiert (apt)" + +# ── 8. Systemkonfigurationen ───────────────────────────────────────────── +echo -e "\n=== 8/12 Systemkonfigurationen ===" # mbpfan (modellabhängig) if [[ -n "$REPO_DIR" && -f "$REPO_DIR/mbpfan-${MODEL}.conf" ]]; then @@ -220,55 +269,23 @@ else chmod +x /usr/local/bin/temp-watch.sh || warn "temp-watch.sh Download fehlgeschlagen" fi -# WireGuard via NetworkManager (.nmconnection direkt schreiben, kein nmcli noetig) +# WireGuard via wg-quick (einfacher als NetworkManager, Config 1:1 verwendbar) WG_CONF="$REPO_DIR/wireguard/m${MODEL}.conf" if [[ -n "$REPO_DIR" && -f "$WG_CONF" ]]; then - # Alte wg-quick-Config entfernen falls vorhanden - systemctl disable --now wg-quick@wg0 2>/dev/null || true - # Werte aus der WireGuard-Conf lesen - WG_PRIVKEY=$(grep -oP 'PrivateKey\s*=\s*\K.*' "$WG_CONF") - WG_LISTEN=$(grep -oP 'ListenPort\s*=\s*\K.*' "$WG_CONF") - WG_ADDR=$(grep -oP 'Address\s*=\s*\K.*' "$WG_CONF") - WG_PUBKEY=$(grep -oP 'PublicKey\s*=\s*\K.*' "$WG_CONF") - WG_PSK=$(grep -oP 'PresharedKey\s*=\s*\K.*' "$WG_CONF") - WG_ALLOWED=$(grep -oP 'AllowedIPs\s*=\s*\K.*' "$WG_CONF" | tr -d ' ' | tr ',' ';') - WG_ENDPOINT=$(grep -oP 'Endpoint\s*=\s*\K.*' "$WG_CONF") - WG_KEEPALIVE=$(grep -oP 'PersistentKeepalive\s*=\s*\K.*' "$WG_CONF") - # NM-Verbindungsdatei direkt schreiben (laeuft als root, Keys persistent) - NM_CONN_DIR="/etc/NetworkManager/system-connections" - mkdir -p "$NM_CONN_DIR" - cat > "$NM_CONN_DIR/wg0.nmconnection" </dev/null || true - nmcli connection up wg0 2>/dev/null || true - ok "WireGuard wg0.nmconnection geschrieben (DNS: 10.47.11.20, 10.47.11.1, autoconnect)" + # Alte NM-WireGuard-Verbindung entfernen falls vorhanden + nmcli connection delete wg0 2>/dev/null || true + rm -f /etc/NetworkManager/system-connections/wg0.nmconnection + # wg-quick Config installieren (Dateiname = Interface-Name) + WG_NAME="wg-vps" + cp "$WG_CONF" "/etc/wireguard/${WG_NAME}.conf" + chmod 600 "/etc/wireguard/${WG_NAME}.conf" + # Service aktivieren (startet automatisch beim Boot) + systemctl enable wg-quick@${WG_NAME} 2>/dev/null || true + # Starten falls nicht in chroot + if [[ "$(stat -c %d:%i /)" == "$(stat -c %d:%i /proc/1/root/.)" ]] 2>/dev/null; then + wg-quick up "$WG_NAME" 2>/dev/null || true + fi + ok "WireGuard ${WG_NAME} installiert (wg-quick, DNS: Pihole, autostart)" else warn "WireGuard: keine lokale Config gefunden — manuell einrichten" fi @@ -276,7 +293,7 @@ fi ok "Systemkonfigurationen gesetzt" # ── 8. XFCE-Konfiguration (beide MBPs haben Retina-Displays) ───────────── -echo -e "\n=== 8/11 XFCE-Konfiguration (HiDPI) ===" +echo -e "\n=== 8/12 XFCE-Konfiguration (HiDPI) ===" XFCE_XML_DIR="/home/rene/.config/xfce4/xfconf/xfce-perchannel-xml" mkdir -p "$XFCE_XML_DIR" @@ -287,7 +304,7 @@ cat > "$XFCE_XML_DIR/xfwm4.xml" < - + XFEOF @@ -304,6 +321,7 @@ cat > "$XFCE_XML_DIR/xsettings.xml" < + XSEOF @@ -312,11 +330,27 @@ XSEOF dpkg-divert --local --rename --divert /usr/bin/xfce4-display-settings.real /usr/bin/xfce4-display-settings 2>/dev/null || true ln -sf /usr/bin/true /usr/bin/xfce4-display-settings -chown -R 1000:1000 /home/rene/.config/xfce4 -ok "XFCE: Compositor aus, Retina-Skalierung, Display-Settings deaktiviert" +# Panel-Konfiguration (Höhe passend zur Schriftgröße) +PANEL_XML="$XFCE_XML_DIR/xfce4-panel.xml" +if [[ ! -f "$PANEL_XML" ]]; then + cat > "$PANEL_XML" < + + + + + + + + +PEOF +fi -# ── 9. Netzwerk: NetworkManager statt netplan ───────────────────────────── -echo -e "\n=== 9/11 Netzwerk ===" +chown -R 1000:1000 /home/rene/.config/xfce4 +ok "XFCE: Compositor aus, Retina-Skalierung, Schriften 10pt, Panel 28px, Display-Settings deaktiviert" + +# ── 10. Netzwerk: NetworkManager statt netplan ──────────────────────────── +echo -e "\n=== 10/12 Netzwerk ===" # WLAN-Zugangsdaten aus bestehender netplan-Config übernehmen (falls vorhanden) WLAN_SSID="" @@ -361,8 +395,8 @@ if [ -f "$EFI_VAR" ]; then ok "auto-boot deaktiviert (kein Start beim Netzteil-Anstecken)" fi -# ── 10. Energieeinstellungen & Lokalisierung ───────────────────────────── -echo -e "\n=== 10/11 Energie & Lokalisierung ===" +# ── 11. Energieeinstellungen & Lokalisierung ───────────────────────────── +echo -e "\n=== 11/12 Energie & Lokalisierung ===" tee /etc/systemd/sleep.conf > /dev/null </dev/null || ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime ok "Energie & Lokalisierung gesetzt" -# ── 11. Services aktivieren ────────────────────────────────────────────── -echo -e "\n=== 11/11 Services & Shell ===" +# ── 12. Services aktivieren ────────────────────────────────────────────── +echo -e "\n=== 12/12 Services & Shell ===" systemctl enable mbpfan 2>/dev/null || true systemctl enable thermald 2>/dev/null || true systemctl enable tlp 2>/dev/null || true diff --git a/setup-desktop.sh b/setup-desktop.sh index 4e1297e..5cf9fc2 100755 --- a/setup-desktop.sh +++ b/setup-desktop.sh @@ -71,16 +71,14 @@ export PATH="$HOME/.npm-global/bin:$PATH" npm install -g @anthropic-ai/claude-code ok "Claude Code installiert" -# ── 5. Flatpak-Apps (PrusaSlicer + Brave) ────────────────────────────── -echo -e "\n=== 5/8 Flatpak-Apps ===" +# ── 5. Flatpak-Apps (PrusaSlicer) ────────────────────────────────────── +echo -e "\n=== 5/10 Flatpak-Apps ===" flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo flatpak install --user -y flathub com.prusa3d.PrusaSlicer ok "PrusaSlicer installiert (Flatpak)" -flatpak install --user -y flathub com.brave.Browser -ok "Brave Browser installiert (Flatpak)" # ── 6. PlatformIO (pipx) ──────────────────────────────────────────────── -echo -e "\n=== 6/8 PlatformIO ===" +echo -e "\n=== 6/10 PlatformIO ===" if ! command -v pio &>/dev/null; then pipx install platformio pipx ensurepath @@ -88,7 +86,7 @@ fi ok "PlatformIO installiert (pipx)" # ── 7. Dot-Files ──────────────────────────────────────────────────────── -echo -e "\n=== 7/8 Dot-Files ===" +echo -e "\n=== 7/10 Dot-Files ===" DOTFILES_DIR="$HOME/git-projekte/dotfiles-rene" if [[ ! -d "$DOTFILES_DIR" ]]; then mkdir -p "$HOME/git-projekte" @@ -146,8 +144,87 @@ else warn ".p10k.zsh nicht im Dotfiles-Repo — beim ersten zsh-Start 'p10k configure' ausfuehren" fi -# ── 8. XFCE-Einstellungen ─────────────────────────────────────────────── -echo -e "\n=== 8/8 XFCE-Einstellungen ===" +# ── 8. Kitty Terminal ────────────────────────────────────────────────── +echo -e "\n=== 8/10 Kitty Terminal ===" +KITTY_CONF_DIR="$HOME/.config/kitty" +mkdir -p "$KITTY_CONF_DIR" +cat > "$KITTY_CONF_DIR/kitty.conf" <<'KITTYEOF' +# Font +font_family MesloLGS NF +font_size 18.0 + +# Fenster +initial_window_width 120c +initial_window_height 35c + +# Scrollback +scrollback_lines 10000 + +# Kein Glockenspiel +enable_audio_bell no + +# Copy/Paste mit Ctrl+C/V (= Cmd auf Mac-Keyboard nach Swap) +map ctrl+c copy_or_interrupt +map ctrl+v paste_from_clipboard + +# Tab-Verwaltung +map ctrl+t new_tab +map ctrl+w close_tab +map ctrl+shift+left previous_tab +map ctrl+shift+right next_tab + +# Scrolling +map ctrl+shift+up scroll_line_up +map ctrl+shift+down scroll_line_down +map ctrl+shift+page_up scroll_page_up +map ctrl+shift+page_down scroll_page_down + +# Keine Scrollbar +scrollback_indicator_color none +KITTYEOF +ok "Kitty Terminal konfiguriert" + +# Kitty als Standard-Terminal +sudo update-alternatives --set x-terminal-emulator /usr/bin/kitty 2>/dev/null || true +ok "Kitty als Standard-Terminal" + +# ── 9. SSH-Key + Git auf SSH umstellen ──────────────────────────────── +echo -e "\n=== 9/10 SSH-Key + Git ===" +SSH_KEY="$HOME/.ssh/id_ed25519" +if [[ ! -f "$SSH_KEY" ]]; then + ssh-keygen -t ed25519 -C "rene@$(hostname)" -f "$SSH_KEY" -N "" + ok "SSH-Key erstellt" + echo "" + warn "SSH Public Key in Forgejo hinterlegen:" + echo " https://git.motocamp.de/user/settings/keys" + echo "" + cat "${SSH_KEY}.pub" + echo "" +else + ok "SSH-Key vorhanden" +fi + +# Forgejo SSH Host-Key akzeptieren +ssh-keyscan -p 2222 dsm.motocamp.de >> ~/.ssh/known_hosts 2>/dev/null +ok "Forgejo Host-Key akzeptiert" + +# Git Remotes auf SSH umstellen +GIT_BASE="$HOME/git-projekte" +for repo in "$GIT_BASE"/*/; do + [[ -d "$repo/.git" ]] || continue + old_url=$(git -C "$repo" remote get-url origin 2>/dev/null) + if [[ "$old_url" == https://git.motocamp.de/rene/* ]]; then + name=$(basename "$old_url" .git) + git -C "$repo" remote set-url origin "ssh://git@dsm.motocamp.de:2222/rene/${name}.git" + ok "SSH: $(basename "$repo")" + fi +done + +# Git Credential-Store (Fallback falls SSH-Key noch nicht in Forgejo) +git config --global credential.helper store + +# ── 10. XFCE-Einstellungen ────────────────────────────────────────────── +echo -e "\n=== 10/10 XFCE-Einstellungen ===" # Keyboard: XFCE soll /etc/default/keyboard respektieren (nicht eigenes Layout erzwingen) if command -v xfconf-query &>/dev/null; then @@ -208,6 +285,12 @@ else fi ok "WezTerm: XFCE Standard-Terminal gesetzt" +# Standard-Apps: Brave als Browser, Thunderbird als Mail +xdg-settings set default-web-browser brave-browser.desktop 2>/dev/null || true +xdg-mime default thunderbird.desktop x-scheme-handler/mailto 2>/dev/null || true +xdg-mime default thunderbird.desktop message/rfc822 2>/dev/null || true +ok "Standard-Apps: Brave (Browser), Thunderbird (Mail)" + # ── Autostart entfernen ───────────────────────────────────────────────── AUTOSTART_FILE="$HOME/.config/autostart/macbook-setup-desktop.desktop" if [[ -f "$AUTOSTART_FILE" ]]; then @@ -222,7 +305,8 @@ echo -e " ${GREEN}Desktop-Setup abgeschlossen!${NC}" echo "============================================" echo "" warn "Noch manuell erledigen:" -echo " 1. Synology Drive Client installieren (.deb von synology.com)" -echo " 2. Thunderbird starten → Profil aus Synology Drive einbinden" -echo " 3. Brave starten → Synchronisation einrichten" -echo " 4. Falls p10k-Icons fehlen: Terminal-Schriftart auf 'MesloLGS NF' setzen" +echo " 1. SSH Public Key in Forgejo hinterlegen (falls noch nicht geschehen)" +echo " 2. Synology Drive Client installieren (.deb von synology.com)" +echo " 3. Thunderbird starten → Profil aus Synology Drive einbinden" +echo " 4. Brave starten → Synchronisation einrichten" +echo " 5. Falls p10k-Icons fehlen: Terminal-Schriftart auf 'MesloLGS NF' setzen" diff --git a/wireguard/m13.conf b/wireguard/m13.conf index 177a5e1..d4db375 100755 --- a/wireguard/m13.conf +++ b/wireguard/m13.conf @@ -2,6 +2,7 @@ PrivateKey = sIxh2D50+9bpWe6O6ezrfybW9Iy6QKcrwr9hmFpuGn0= ListenPort = 51820 Address = 10.13.13.8/24 +DNS = 10.47.11.20 [Peer] PublicKey = mp0YKEjsUbnld3aTAnF6cSzTfixhZETQCoKiFHIcF30=