Dieser interaktive Tracker führt durch die komplette Einrichtung deines neuen
MacBook Pro M5 Pro und die Migration vom alten Mac mini M2.
Zehn Phasen — vom Auspacken bis zum 3-2-1-Backup auf der Hetzner Storage Box und der
Umfunktionierung des Mac mini als lokaler AI-Server.
Alle Häkchen und Notizen werden lokal im Browser gespeichert (localStorage),
nichts wird hochgeladen. Per Export ziehst du dir den Stand als JSON-Datei – etwa für ein zukünftiges
Setup oder als Doku im persönlichen Archiv.
Klicke einen Schritt an, um ihn als erledigt zu markieren.
+ notiz öffnet ein Notizfeld pro Schritt (Seriennummer, Beobachtung).
Copy-Button auf jedem Codeblock kopiert den Befehl.
Nur offene anzeigen in der Toolbar filtert abgehakte Schritte aus.
Phase 01
0/8
Auspacken & Erstinbetriebnahme
Setup-Assistent, iCloud-Strategie, FileVault, erste Updates
Der erste Boot des MacBook Pro M5 Pro (48 GB / 2 TB) entscheidet darüber, wie sauber der Rest läuft. Wir aktivieren FileVault vor dem ersten Sync, übertragen WLAN/Apple-ID per Set Up with iPhone und legen die iCloud-Strategie bewusst fest (Dokumente/Schreibtisch sync, Projekte/Developer/Ressourcen lokal).
MacBook auspacken und unverbunden einschalten
Das Gerät zunächst ohne Dock und ohne Monitor aufsetzen – nur Netzteil. Externe Peripherie (Dock, BenQ, Volt 2, Logitech-Geräte) wird in Phase 2 angeschlossen. Das vermeidet HDR/Resolution-Edge-Cases im Setup-Assistenten.
Netzteil anschließen (USB-C → MagSafe oder direkt USB-C)
Deckel öffnen → Mac startet automatisch
Sprache: Deutsch, Region: Deutschland
"Set Up with iPhone" nutzen (iOS 19+)
Apple überträgt WLAN-Passwort, Apple-ID, Sprache/Region und Datenschutzeinstellungen drahtlos vom iPhone. Spart fünf Minuten Tippen.
Entsperrtes iPhone (mit aktuellem iOS) neben das MacBook legen
Auf dem iPhone erscheint ein Dialog → Fortfahren
Code-Bestätigung am MacBook abtippen
WLAN und Apple-ID werden übernommen, 2FA läuft über iPhone
iCloud-Setup mit klarer Sync-Strategie
Im Setup wirst du nach iCloud-Diensten gefragt. Erst grundsätzlich aktivieren, die fein-granulare Auswahl machen wir später (Phase 6). Wichtig jetzt:
iCloud Drive aktivieren
Schlüsselbund (Keychain) aktivieren – Passwörter syncen vom alten Mac
Fotos später entscheiden (große Library!)
Nachrichten in iCloud aktivieren
Apple Music / News / Mail nach Bedarf
Ordner
iCloud
Begründung
~/Dokumente
✅ Ja
Kleine Dateien, Zugriff vom iPhone
~/Schreibtisch
✅ Ja
Schneller Zugriff überall
~/Projekte
❌ Lokal
Große Dateien, externe SSD-Auslagerung
~/Developer
❌ Lokal
Git ist der Sync
~/Ressourcen
❌ Lokal
Sample-Libraries zu groß
FileVault sofort aktivieren
Verschlüsselt die interne SSD transparent mit dem T2/Secure-Enclave-Schlüssel. Ohne FileVault ist ein verlorener oder gestohlener Mac ein offenes Buch.
Apple-Menü → Systemeinstellungen
Datenschutz & Sicherheit → bis zu FileVault scrollen
Aktivieren klicken
Wahl: "iCloud-Account erlaubt Entsperrung" – bequem; alternativ Recovery-Key generieren und im Passwort-Manager sichern
Apple Watch-Schalter aktivieren → entsperrt den Mac, wenn die Uhr am Handgelenk sitzt
Migrationsentscheidung treffen: Clean Install vs. Migrationsassistent
Weg
Vorteile
Nachteile
Migrationsassistent (TB-Kabel oder Netzwerk)
Sehr schnell, übernimmt Apps + Configs + Lizenzen automatisch
Auch Müll und alte Permissions wandern mit; iCloud-Pfade müssen korrigiert werden
Clean Install + selektive Migration
Frischer Start, präzise Kontrolle was übernommen wird, beste Performance
Mehr manuelle Arbeit (~1–2 Tage)
Für diesen Tracker: "Jetzt nicht übertragen" wählen im Setup-Assistenten – Migration läuft in Phase 3 strukturiert ab.
macOS sofort auf neueste Version updaten
Auch ein neues Gerät kommt mit dem Build vom Werk – das Setup landet meist mindestens 1–2 Patches zurück. Vor jeder weiteren Konfiguration: voll patchen.
Apple-Menü → Systemeinstellungen
Allgemein → Softwareupdate
Optional: "Erweitert" → Sicherheits- und Systemupdates automatisch installieren ✅
Der Name erscheint im Netzwerk, in AirDrop, in Time Machine und bei "Find My". Aussagekräftig setzen, nicht "Roys MacBook Pro (2)".
Gerätename setzen (Beispiel)
# Computer-, Host- und lokaler Hostname auf einen Namen vereinheitlichen
sudo scutil --set ComputerName "zkybook"
sudo scutil --set HostName "zkybook"
sudo scutil --set LocalHostName "zkybook"
# Prüfen
scutil --get ComputerName
scutil --get HostName
scutil --get LocalHostName
Phase 02
0/7
Hardware-Aufbau & Anschluss
TB5-Dock, BenQ EW3270U, Volt 2, Logitech-Geräte, Speicheraufteilung
Jetzt kommt die Peripherie an Bord. Die Reihenfolge ist wichtig: erst Strom ans Dock, dann Dock an den Mac, dann erst Monitor/Audio/Eingabegeräte – sonst zickt USB-Bandbreite oder HDR-Handshake. Außerdem klären wir die Aufgabenteilung der beiden externen Datenträger, weil sie im weiteren Setup ständig auftauchen.
Die zwei externen Datenträger haben unterschiedliche Rollen. Diese Trennung zieht sich durch das gesamte Setup und sollte jetzt mental verankert werden.
Time Machine ist inkrementell und im Hintergrund – Durchsatz egal. HDD-€/TB schlägt SSD um Faktor 4-5; die Restlaufzeit fürs Archiv-Volume ist großzügig.
Hier zählt Latenz und Durchsatz (~2.600 MB/s). Streaming aus Sample-Libraries und 4K-Resolve-Material profitiert massiv – die HDD würde hier ausbremsen.
5 TB Cold-Storage HDD #2
Kopie von Musik + Bilder, extern gelagert (exFAT)
Brandschutz / Diebstahl: Wenn die Wohnung brennt, sind Musik + Bilder noch da. Update alle 3–6 Monate per rsync.
Anker Thunderbolt-5-Dock korrekt anschließen
Dock zuerst an die Steckdose (eigenes Netzteil) – nicht über MacBook-Netzteil
Thunderbolt-Kabel vom Dock in den TB-Port am MacBook (linke Seite zuerst, dort sitzen die vollwertigen TB5-Ports)
Erst dann Monitor, Audio, USB-Geräte ans Dock hängen
BenQ EW3270U für 4K @ 60 Hz + HDR konfigurieren
Der BenQ EW3270U ist ein 32"-VA-Panel mit 3840×2160, HDR10 ("HDRi"-Marketing) und max. 60 Hz bei 4K. Damit das stabil ankommt, muss die Verkabelung passen.
Kabel/Port
4K @ 60 Hz?
HDR10?
Hinweis
DisplayPort 1.4 (Dock → Monitor)
✅ Ja
✅ Ja
Beste Wahl – höchste Bandbreite
HDMI 2.0
✅ Ja
✅ Ja
Funktioniert, aber HDMI-Quelle am Monitor explizit wählen
USB-C-DP-Alt-Mode (direkt am Mac, ohne Dock)
✅ Ja
✅ Ja
Notfall-Option, blockiert einen TB-Port
HDMI 1.4 oder DP 1.2
❌ Nein (nur 30 Hz)
❌ Nein
Veraltetes Kabel – tauschen
OSD am Monitor → Eingangsquelle auf den genutzten Port stellen (HDMI oder DP)
macOS Systemeinstellungen → Displays
Auflösung: Skaliert → Mehr Platz (zeigt mehr als das Default-2560×1440-Äquivalent; bei 32" gut lesbar)
Helligkeit beim Spielen von HDR-Video: aktivieren
True Tone ist beim externen Display nicht aktiv (nur intern)
Nachtschicht in Displays → Nachtschicht-Tab zeitlich einplanen (z. B. 21:00–7:00)
Farbprofil: Standard belassen; Feinkalibrierung in Phase 8 mit BetterDisplay
Universal Audio Volt 2 anschließen
Die Volt 2 ist class-compliant – kein Treiber unter macOS nötig. Direkt am Dock per USB-C oder USB-A. Für niedrige Latenz im Studio empfehlen wir direkt ans MacBook, alltagsmäßig reicht das Dock locker.
USB-Kabel von Volt 2 ans Dock (oder direkt ans MacBook)
Netzteil der Volt 2 anschließen (Phantom-Power braucht den Strom-Boost)
Monitore/Kopfhörer/Instrumente an Volt 2 patchen
Spotlight → Audio-MIDI-Setup öffnen → Volt 2 als Standard-In/Out wählen
Samplerate: 48 kHz / 24 bit (Standard für Logic-Sessions)
MX Keys S + MX Master 3s koppeln
Beide Geräte können per Bluetooth direkt oder per Logi-Bolt-Empfänger (USB-A am Dock) verbunden werden. Bolt = stabiler & niedrigere Latenz; Bluetooth = ein USB-Port weniger belegt.
Empfehlung: Logi Bolt für die Maus (Trackerlatenz), Bluetooth für die Tastatur
Maus/Tastatur einschalten (Schiebeschalter am Boden)
Easy-Switch-Taste (1/2/3) lang drücken bis LED blinkt → Kopplungsmodus
Systemeinstellungen → Bluetooth oder Logi Options+ (kommt in Phase 5/8)
Externe Datenträger anschließen und benennen
Damit Time Machine und die Library-SSD später ohne Überraschungen funktionieren: jetzt einmal an den Mac, im Festplattendienstprogramm sichten, Volume-Namen prüfen.
Alle angeschlossenen Volumes auflisten
diskutil list
# Detail zu einem Volume (z.B. disk4s2):
diskutil info disk4s2
5 TB HDD: später als Time Machine umbenennen (APFS, Phase 9)
2 TB TB4-SSD: z. B. Libraries (APFS, Phase 7)
5 TB HDD #2: später als Cold Storage (exFAT, Phase 9)
Kabel-Management am Dock-Setup
Klett-Kabelbinder an den langen Zuleitungen (Strom, Monitor, USB-Hubs)
Volt 2 möglichst auf Schreibtisch, nicht hinterm Monitor – Pegel-Drehknopf muss greifbar sein
MX-Master-Empfänger an einem frontseitigen USB-A-Port des Docks – sonst Sichtblockierung
BenQ-Stromkabel auf separate Steckdose; bei HDR-Last zieht das Netzteil ordentlich
Bevor irgendetwas vom Mac mini gelöscht wird: Lizenzen deaktivieren (DaVinci Resolve Studio, Adobe CC, MS Office), App-Inventar exportieren, SSH/GPG/Mail/Configs sichern. Empfohlener Weg: Clean Install mit selektiver Migration. Der Migrationsassistent bleibt als Notfall-Option.
⛔ Lizenzen auf dem alten Mac mini deaktivieren – VOR Datenlöschung!
Software
Aktion
Wo
DaVinci Resolve Studio
Deaktivieren
Help → Deactivate License
Adobe Creative Cloud
Aus allen Apps abmelden
Creative Cloud App → Konto → Abmelden
Microsoft Office
Abmelden
In jeder App: Konto → Abmelden
iLok-Plug-Ins
Optional: Lizenzen auf iLok-Stick / iLok Cloud verschieben
iLok License Manager
Native Instruments
Deautorisierung
Native Access → Konto → Mac deautorisieren
Topaz Video AI / Photo AI
Sitzung abmelden
Help → Sign Out
Screen Studio
Abmelden
Settings → Account → Sign Out
Luminar Neo
Abmelden
Account → Sign Out
Affinity
Abmelden
Help → Sign Out / Manage License
motionVFX
mInstaller deautorisieren
mInstaller → Sign Out
iMessage / FaceTime
Abmelden (sonst Multi-Device-Konflikte)
Nachrichten → Einstellungen → Abmelden
App-Inventar des Mac mini in eine Datei exportieren
Damit du nach dem Clean Install nichts vergisst und das Brewfile vollständig wird. Befehle auf dem Mac mini (nicht auf dem MacBook!) ausführen, Outputs landen auf der Backup-SSD/HDD.
Auf dem Mac mini – App-Listen erzeugen
BACKUP="/Volumes/BACKUP/MacMini-Inventar-$(date +%Y%m%d)"
mkdir -p "$BACKUP"
# Klassische Apps
ls -1 /Applications > "$BACKUP/apps-applications.txt"
ls -1 ~/Applications 2>/dev/null > "$BACKUP/apps-user.txt"
# Homebrew
brew bundle dump --describe --file="$BACKUP/Brewfile" 2>/dev/null
brew list > "$BACKUP/brew-formulas.txt"
brew list --cask > "$BACKUP/brew-casks.txt"
# Sprach-Toolchains
npm list -g --depth=0 2>/dev/null > "$BACKUP/npm-global.txt"
pip3 list 2>/dev/null > "$BACKUP/pip-packages.txt"
# Editor-Extensions
code --list-extensions > "$BACKUP/vscode-extensions.txt" 2>/dev/null
# Plug-Ins (Audio)
ls -1 ~/Library/Audio/Plug-Ins/Components > "$BACKUP/au-plugins.txt" 2>/dev/null
ls -1 ~/Library/Audio/Plug-Ins/VST3 > "$BACKUP/vst3-plugins.txt" 2>/dev/null
# Fonts (eigene)
ls -1 ~/Library/Fonts > "$BACKUP/user-fonts.txt" 2>/dev/null
echo "Inventar in $BACKUP"
SSH-Keys + Git-Config sichern (zum späteren Reuse oder als Referenz)
BACKUP="/Volumes/BACKUP/MacMini-Apps-$(date +%Y%m%d)"
mkdir -p "$BACKUP"
# Apple Mail (POP3 = lokal! IMAP = nur Settings nötig)
cp -R ~/Library/Mail "$BACKUP/AppleMail" 2>/dev/null
cp ~/Library/Preferences/com.apple.mail.plist "$BACKUP/" 2>/dev/null
# Chrome / Firefox / Opera / DuckDuckGo Profile
cp -R ~/Library/Application\ Support/Google/Chrome "$BACKUP/Chrome" 2>/dev/null
cp -R ~/Library/Application\ Support/Firefox "$BACKUP/Firefox" 2>/dev/null
cp -R ~/Library/Application\ Support/com.operasoftware.Opera "$BACKUP/Opera" 2>/dev/null
# Notion / Obsidian Vaults (Pfade prüfen!)
cp -R ~/Library/Application\ Support/Notion "$BACKUP/Notion" 2>/dev/null
# Obsidian-Vault liegt da, wo DU ihn angelegt hast – das ist NICHT der Application-Support-Ordner!
# Beispiel:
# cp -R ~/Documents/Obsidian "$BACKUP/Obsidian-Vault"
echo "App-Daten in $BACKUP"
Logic Pro / Ableton Projekte konsolidieren
Sample-Pfade brechen beim Umzug – "Projekt konsolidieren" bzw. "Sammeln und sichern" packt alle externen Samples ins Projekt, damit später am MacBook nichts fehlt.
Logic Pro: Datei → Projekt-Verwaltung → Projekt konsolidieren (zieht Samples + EXS24-Instrumente in den Projektordner)
Ableton Live: Datei → Alles im Projekt sammeln und sichern
Konsolidierte Projektordner auf Backup-SSD/HDD kopieren
Eigene Samples / Sound-Libraries: ~/Library/Audio, ~/Library/Application Support/Logic/Sampler Instruments
Plug-In-Presets: ~/Library/Audio/Presets
Schnell-Backup-Script auf dem Mac mini ausführen
Falls noch keines existiert – ein Rundum-Sorglos-Script, das die wichtigsten User-Daten auf die Backup-Platte zieht. Pfade an deine Backup-SSD anpassen.
Auf dem Mac mini – Schnell-Backupschnell-backup-mac-mini.sh
Jetzt machen wir das frische macOS Tahoe alltagstauglich. Finder bekommt die für Power-User selbstverständlichen Toggles, Dock und Trackpad werden entrümpelt, neue Tahoe-Features (Liquid Glass, Spotlight Quick Keys, iPhone Mirroring, Akku 80 %) konfiguriert. Am Schluss ein Block kopierbarer defaults write-Befehle für die Dinge, die Apple in den GUI versteckt hat.
Finder: Pfadleiste, Statusleiste, Dateiendungen
Finder öffnen
Menü Darstellung → Pfadleiste einblenden ✅
Menü Darstellung → Statusleiste einblenden ✅
Menü Finder → Einstellungen (Cmd+,) → Erweitert
Alle Dateinamenssuffixe einblenden ✅
Bei Suche: Den aktuellen Ordner durchsuchen
Vor Entfernen des Papierkorbs warnen ❌ (ich weiß was ich tue)
Tab Allgemein: Neues Finder-Fenster zeigt → ~/Projekte (oder Home)
Optional: dieselben Einstellungen per defaults
# Pfadleiste + Statusleiste
defaults write com.apple.finder ShowPathbar -bool true
defaults write com.apple.finder ShowStatusBar -bool true
# Dateiendungen immer anzeigen
defaults write NSGlobalDomain AppleShowAllExtensions -bool true
# Suche im aktuellen Ordner
defaults write com.apple.finder FXDefaultSearchScope -string "SCcf"
# Versteckte Dateien sichtbar
defaults write com.apple.finder AppleShowAllFiles -bool true
# Finder neu starten
killall Finder
Dock aufräumen und positionieren
Systemeinstellungen → Schreibtisch & Dock
Größe: zwei Drittel der Maximalgröße
Position: links (mehr vertikaler Bildschirmplatz auf 32:9-ähnlichem 32" 4K)
Vergrößerung: aus (oder dezent)
Zuletzt verwendete Apps anzeigen: ❌ aus
Dock automatisch ein-/ausblenden: nach Geschmack
Ungewollte Apps aus dem Dock ziehen, bis 'Entfernen' erscheint
Touch ID & Code → Apple Watch ✅ (haben wir in Phase 1 ggf. schon)
WLAN → Auf Hotspots hinweisen ✅ (iPhone als Notfall-Hotspot)
defaults-write-Bundle: Komfort-Tweaks am Stück
Praktische macOS-Defaults, die Apple in keiner GUI anbietet. Block kopieren, im Terminal einfügen, ggf. ab-/zu-kommentieren. Effekt erst nach killall Finder/Dock bzw. Logout/Neustart sichtbar.
macOS-Komfort-Defaultsmacos-defaults.sh
#!/bin/bash
# macOS-Komfort-Defaults – einmal nach Phase 1-4 ausführen.
# --- Screenshots in ~/Pictures/Screenshots statt Schreibtisch ---
mkdir -p ~/Pictures/Screenshots
defaults write com.apple.screencapture location ~/Pictures/Screenshots
defaults write com.apple.screencapture type -string "png"
defaults write com.apple.screencapture show-thumbnail -bool true
# --- Standardansicht im Finder: Liste ---
defaults write com.apple.finder FXPreferredViewStyle -string "Nlsv"
# --- Tabs statt Fenster bevorzugen ---
defaults write NSGlobalDomain AppleWindowTabbingMode -string "always"
# --- Beim Speichern: detaillierter Save-Dialog (mit allen Ordnern) ---
defaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode -bool true
defaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode2 -bool true
# --- Drucken: Drucker-Dialog detailliert ---
defaults write NSGlobalDomain PMPrintingExpandedStateForPrint -bool true
defaults write NSGlobalDomain PMPrintingExpandedStateForPrint2 -bool true
# --- Per Standard auf 'Speichern' bei Schließen (statt Verwerfen) ---
defaults write NSGlobalDomain NSCloseAlwaysConfirmsChanges -bool true
# --- Schreibtisch: Externe Volumes anzeigen (Time-Machine-HDD sichtbar) ---
defaults write com.apple.finder ShowExternalHardDrivesOnDesktop -bool true
defaults write com.apple.finder ShowRemovableMediaOnDesktop -bool true
defaults write com.apple.finder ShowMountedServersOnDesktop -bool true
# --- Spaces NICHT automatisch neu anordnen ---
defaults write com.apple.dock mru-spaces -bool false
# --- Quick Look: Text in Quick Look auswählbar ---
defaults write com.apple.finder QLEnableTextSelection -bool true
# --- Mission Control: Animationen kürzer ---
defaults write com.apple.dock expose-animation-duration -float 0.12
# --- Save Screenshots/Screen Capture als PNG (oben schon, hier no-op) ---
# Anwenden
killall Finder
killall Dock
killall SystemUIServer
echo "Defaults gesetzt. Logout für volle Wirkung."
Phase 05
0/8
Homebrew & Software-Installation
Homebrew unter /opt/homebrew, Brewfile-Bundle, manuelle Installer
Die schnellste Art, ein komplettes macOS-Power-User-Setup aufzubauen: Homebrew + ein gepflegtes Brewfile. Wir installieren Homebrew unter /opt/homebrew (Apple-Silicon-Pfad), spielen das vollständige Brewfile (basierend auf deinem Mac-mini-Inventar Januar 2026) ein, und führen die nicht-Brew-Installer separat auf (Adobe, Apple-iWork, UA Connect, Xcode).
Xcode Command Line Tools installieren
Voraussetzung für Homebrew, git und viele Build-Steps. Apple lädt die Tools (~500 MB) selbstständig nach.
Das finale Brewfile liegt rechts zum Download – oder direkt aus diesem Projekt. Es enthält alle CLI-Tools, Casks und VS-Code-Extensions aus deinem Inventar.
Brewfile-Bundle einspielenbrew-bundle.sh
# Brewfile in ein Arbeitsverzeichnis legen (Beispiel: Downloads)
cd ~/Downloads
# Bundle installieren – Casks brauchen ggf. sudo-Passwort für /Applications
brew bundle --file=Brewfile --verbose
# Was hat NICHT geklappt?
brew bundle check --file=Brewfile
# Cleanup: alles deinstallieren, was NICHT im Brewfile steht (vorsichtig!)
# brew bundle cleanup --file=Brewfile --force
Mac App Store CLI (mas) für App-Store-Apps
mas kommt im Brewfile mit. Apple-ID-Login muss einmalig manuell im App Store erfolgen (mas kann kein Login mehr triggern seit macOS 10.15).
Installierte App-Store-Apps anzeigen
mas list
# App im Store suchen
mas search "Logic Pro"
# App installieren (ID herausfinden mit 'mas search')
# mas install 634148309 # Logic Pro
# mas install 409183694 # Keynote
# mas install 409203825 # Numbers
# mas install 409201541 # Pages
# mas install 1289583905 # Pixelmator Pro
VS Code Extensions per Brewfile
Das Brewfile enthält bereits vscode "…"-Zeilen für alle deine Extensions. brew bundle installiert sie automatisch – Voraussetzung: code-CLI ist im PATH (kommt mit dem VS-Code-Cask).
code-CLI prüfen / Extensions verifizieren
which code
code --version
code --list-extensions | sort
Adobe Creative Cloud installieren (manuell)
Adobe ist nicht über Homebrew distribuierbar. Auf creativecloud.adobe.com die Creative-Cloud-App laden und mit Adobe-ID anmelden, dann gewünschte Apps installieren.
Adobe Photoshop 2026
Adobe Illustrator 2026
Adobe Audition 2026
Adobe Acrobat DC
Adobe Character Animator 2025 (optional)
Adobe Photoshop Beta (optional)
Andere manuelle Installer (Affinity, UA Connect, MAS-only)
Meta Quest Remote Desktop / Virtual Desktop Streamer / Immersed
Anbieter-Seiten
motionVFX
mInstaller von motionvfx.com
Antigravity
Unbekannte Quelle – nur installieren, wenn vertrauenswürdiger Distributor
Homebrew-Pflege-Routinen einrichten
Damit Homebrew nicht verkrustet: ein Aliase-Block in ~/.zshrc und ein kurzes Pflege-Script.
~/.zshrc – Brew-Aliase
# --- Homebrew Aliases ---
alias bup='brew update && brew upgrade && brew upgrade --cask && brew cleanup'
alias bls='brew leaves'
alias bcheck='brew doctor && brew missing'
alias bdump='brew bundle dump --describe --force --file=~/Ressourcen/Dev/Brewfile'
Wöchentliche Pflege
# Update + Upgrade alles + Cleanup
brew update
brew upgrade
brew upgrade --cask
brew autoremove
brew cleanup
# Probleme prüfen
brew doctor
Phase 06
0/11
Entwicklungsumgebung
Git, SSH (neu generiert), Shell, Node/Python, Claude Code, Ordnerstruktur
Frische, saubere Dev-Umgebung statt 1:1-Klon. Neue SSH-Keys (ed25519), Git-User/Email konfigurieren, ZSH mit Starship-Prompt + Autosuggestions, Node-Versionsmanagement, Python via Brew/uv, Claude Code CLI, und die Projekt-Ordnerstruktur, die der Backup-Konzeption aus Phase 9 zugrunde liegt.
Projekt-Ordnerstruktur anlegen
Diese Struktur ist die Basis für iCloud-Sync, Time Machine, BorgBackup und alle späteren Pfad-Annahmen. Einmal anlegen, dann nie wieder ändern.
# Bei GitHub einfügen → Settings → SSH and GPG keys → New SSH key
pbcopy < ~/.ssh/id_github.pub
echo "GitHub-Key in der Zwischenablage."
# Beim Hetzner Robot (Storage Box → SSH Keys)
pbcopy < ~/.ssh/hetzner_storagebox.pub
echo "Storage-Box-Key in der Zwischenablage."
Verbindungen testen
ssh -T git@github.com
# Erwartete Antwort: "Hi <username>! You've successfully authenticated…"
sftp hetzner-backup
# Wenn 'sftp>' kommt → funktioniert. mit 'exit' raus.
ZSH mit Starship-Prompt + Autosuggestions
macOS bringt zsh mit – wir hängen Starship als modernen Prompt und zsh-autosuggestions als History-Hilfe dran (beide im Brewfile).
~/.zshrc – Kernblock.zshrc
# --- Brew shellenv (kommt aus zprofile – sicherheitshalber hier auch) ---
[ -f /opt/homebrew/bin/brew ] && eval "$(/opt/homebrew/bin/brew shellenv)"
# --- History sinnvoll ---
HISTSIZE=20000
SAVEHIST=20000
HISTFILE=~/.zsh_history
setopt SHARE_HISTORY HIST_IGNORE_DUPS HIST_IGNORE_SPACE HIST_REDUCE_BLANKS INC_APPEND_HISTORY
# --- Completions ---
autoload -Uz compinit && compinit -i
zstyle ':completion:*' menu select
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'
# --- Autosuggestions ---
[ -f /opt/homebrew/share/zsh-autosuggestions/zsh-autosuggestions.zsh ] && \
source /opt/homebrew/share/zsh-autosuggestions/zsh-autosuggestions.zsh
# --- zoxide (smartes cd) ---
command -v zoxide >/dev/null 2>&1 && eval "$(zoxide init zsh)"
# --- fzf Tastatur-Bindings ---
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
# --- Starship Prompt ---
command -v starship >/dev/null 2>&1 && eval "$(starship init zsh)"
# --- Aliase ---
alias ls='eza --icons --group-directories-first'
alias ll='eza -l --icons --group-directories-first --git'
alias la='eza -la --icons --group-directories-first --git'
alias lt='eza --tree --level=2 --icons --group-directories-first'
alias cat='bat --plain'
alias grep='rg'
alias find='fd'
alias cdp='cd ~/Projekte'
alias cdd='cd ~/Developer'
# --- Homebrew ---
alias bup='brew update && brew upgrade && brew upgrade --cask && brew cleanup'
# --- Git ---
alias gs='git status -sb'
alias gco='git checkout'
alias gp='git pull'
alias gpu='git push'
alias gl='git log --oneline --graph --decorate --all -20'
# --- Editoren ---
export EDITOR="code --wait"
export VISUAL="code --wait"
In Raycast-Einstellungen: Cmd+Space als Trigger setzen
Lieblings-Extensions: Calendar, Clipboard History, Snippets, Window Management, GitHub
Phase 07
0/12
Musikproduktion-Setup
Logic Pro, Ableton, Bitwig, Volt 2, iLok, Rekordbox (DDJ-FLX10), Sample-Libraries auf TB4-SSD
Audio braucht klare Pfade: aktive Projekte auf der internen 2 TB SSD (~/Projekte/Audio), Sample-Libraries und Kontakt-Inhalte auf der externen TB4-SSD, Plug-In-Lizenzen über iLok/UA/Native Access. Audio-Interface: Volt 2 als Standard-I/O bei 48 kHz / 24 bit, niedrige Buffer-Size in der DAW.
TB4-SSD als 'Libraries' (APFS) formatieren und benennen
TB4-SSD an einen schnellen TB-Port (am Dock oder direkt am Mac)
Festplattendienstprogramm → Darstellung → Alle Geräte einblenden
Physisches Laufwerk (nicht nur Partition) auswählen
Löschen → Name Libraries, Format APFS, Schema GUID-Partitionstabelle
DJ-Tracks auf /Volumes/Libraries/DJ/DJ-Music hinterlegen (Quelle für Library)
iCloud-Sync der Rekordbox-Library NICHT aktivieren (Konflikte!)
DDJ-FLX10 als USB-Audio sehen
system_profiler SPUSBDataType | grep -i flx10 -A 5
Musik-Bibliothek und Bilder vom alten Setup übernehmen
Größere Musik-Sammlung (1,5 TB laut Backup-Konzept) und Bilder (0,7 TB) wandern auf HDD #1 (Time Machine + Archiv). Die ~/Music/Music-Library bleibt klein und syncronisiert über iCloud-Music-Library.
Jetzt das Feintuning der Eingabegeräte und des Monitors. Logi Options+ für MX Keys S + MX Master 3s mit App-spezifischen Profilen und (optional) Flow. BetterDisplay für saubere Skalierung des EW3270U und besseres HDR-Verhalten als das native macOS.
Logi Options+ einrichten
Logi Options+ (im Brewfile als logi-options+) starten – fragt nach Bedienungshilfen-Permission
VS Code: Daumengeste hoch = Cmd+Shift+P (Command Palette)
Browser: Daumengeste = Tab-Wechsel
Figma / Affinity: Scrollrad-Modus auf Smart Shift
MX Keys S: F-Tasten und Smart Actions
F-Tasten: Wahl zwischen Standard-Funktionstasten oder Hotkeys – je nach Workflow. Apple Logic/Final Cut profitiert von F1-F12.
Backlight: automatische Helligkeit nach Umgebungslicht
Smart Actions: z. B. Snapshot + an Slack senden, Spotify pausieren + Bildschirm sperren
FN-Modifier: in Options+ konfigurierbar, z. B. FN+Esc → Sprachausgabe-Toggle
Logi Flow (optional, MacBook ↔ Mac mini AI-Server)
Wenn der Mac mini in Phase 10 als AI-Server headless aber im selben Netz läuft: Flow lässt MX Master + MX Keys mit einer Mausbewegung zum Mac mini springen, inkl. Clipboard-Sharing.
Auf beiden Macs Logi Options+ installieren und im selben Netz
Flow aktivieren auf MacBook und Mac mini
Geräte (MX Master, MX Keys) als flow-fähig markieren
Computer-Layout (links/rechts) festlegen
BetterDisplay: Skalierung + HDR-Tuning für den BenQ
macOS bietet beim EW3270U nur eine Handvoll Skalierungsstufen. BetterDisplay erlaubt jede Auflösung und HiDPI-Erzwingung – wichtig für scharfe Schrift bei nicht-Retina-Skalierungen.
BetterDisplay (Brewfile-Cask) starten
EW3270U auswählen → HiDPI-Auflösungen aktivieren
Empfohlene Skalierung für 32" 4K: 3008 × 1692 HiDPI oder 2560 × 1440 HiDPI – nach Geschmack
Virtual Display für Headless-Setups vorbereiten (relevant für Phase 10, AI-Server)
OSD-Workaround: Helligkeit per BetterDisplay-Slider statt Monitor-Knopf
BenQ EW3270U OSD-Empfehlungen
OSD-Setting
Empfehlung
Begründung
Bildmodus
Standard (oder M-Book)
HDR-Modus nur situativ
Helligkeit
30–45 (Tag), 15–25 (Abend)
VA-Panel hat hohen Black-Level – nicht zu hoch drehen
Kontrast
50
Default
B.I.+ (Helligkeitssensor)
Off
Reagiert oft fehlerhaft, lieber manuell
Eye-Care: Low Blue Light
On (Multimedia)
Vermeidet harten Blauanteil – kombinierbar mit Nachtschicht
FreeSync
Off
Mac unterstützt es am DP/HDMI nicht zuverlässig
HDR
On nur für HDR-Material
Sonst wirken Farben flach
Funktionstasten, Globe-Taste, Modifier
Systemeinstellungen → Tastatur → Tastaturkurzbefehle → Funktionstasten: Apps zuweisen, in denen F1-F12 als Standard interpretiert werden (Logic, Resolve)
Globe-Taste (Apple-Tastatur): Sprache wechseln vs. Emoji-Picker – einstellbar in Tastatur → Mit der Globustaste
FN-Stuck-Hack via Karabiner Elements (Cask) für ProUser-Layouts
System-Tastaturkurzbefehle für Audio/DJ-Workflows
Sprachausgabe Off bei VoiceOver-Versehen: Bedienungshilfen → VoiceOver-Tastenkürzel deaktivieren
Lautstärke / Helligkeit-Tasten: mit Shift+Option fein justierbar (1/4-Stufen)
Mediensteuerung: in Tastatur → Tastaturkurzbefehle Spotify/Music gezielt steuern
Phase 09
0/16
Backup-Strategie: 3-2-1 mit Time Machine, BorgBackup (Hetzner) und Cold Storage
Time Machine auf 5 TB HDD, BorgBackup auf Hetzner u540244, HDD #2 als externes Cold Storage
Echtes 3-2-1-Backup: 3 Kopien (Mac SSD + Time Machine + Hetzner), 2 Medientypen (SSD, HDD, Cloud), 1 Offsite (Hetzner Storage Box / Cold-Storage-HDD bei Dritten). Erst nach kompletter Einrichtung einrichten, damit der erste Time-Machine-Snapshot ein "Golden State" ist.
Backup-Konzept im Überblick
Daten
Kopie 1 (Original)
Kopie 2 (lokal)
Kopie 3 (offsite)
macOS, Projekte, Dokumente, Configs
Mac SSD (intern)
Time Machine (HDD #1)
BorgBackup (Hetzner)
Musik (~1,5 TB)
HDD #1 / Archiv
Cold Storage HDD #2
–
Bilder (~0,7 TB)
HDD #1 / Archiv
Cold Storage HDD #2
–
Sample-Libraries, Plug-In-Content
TB4-SSD (Libraries)
Time Machine (sichert TB4 mit, wenn angeschlossen)
–
DJ-Library
TB4-SSD (Libraries)
Time Machine
–
5 TB HDD als 'Time Machine' (APFS) formatieren
HDD #1 (5 TB) an Dock/Mac anschließen
Festplattendienstprogramm → Darstellung → Alle Geräte einblenden
Physisches Laufwerk auswählen → Löschen
Name Time Machine, Format APFS, Schema GUID-Partitionstabelle
Time Machine aktivieren (unverschlüsselt, 2,5 TB Limit)
macOS fragt nach dem Formatieren: "Möchten Sie diese Festplatte für Time Machine verwenden?" → Als Backup-Volume verwenden. Oder manuell:
Systemeinstellungen → Allgemein → Time Machine
Backup-Volume hinzufügen → Time Machine wählen
Backup verschlüsseln: Aus (Festplatte bleibt zuhause, Geschwindigkeit zählt)
tmutil startbackup
tmutil status
# Komfortablerer Status-Watcher:
while true; do clear; tmutil status; sleep 5; done
Archiv-Ordner für Musik und Bilder auf HDD #1
Nach dem ersten Time-Machine-Backup einen Archiv-Ordner auf der TM-HDD anlegen – Time Machine sichert ihn beim nächsten Lauf automatisch mit.
Archiv-Struktur anlegen + Daten ziehen
mkdir -p "/Volumes/Time Machine/Archiv/Musik"
mkdir -p "/Volumes/Time Machine/Archiv/Bilder"
# Beispiele: vom alten Mac mini (oder aus dem Backup) kopieren
# rsync ist robuster als cp:
rsync -avh --progress /Volumes/MacMini-Backup/Musik/ "/Volumes/Time Machine/Archiv/Musik/"
rsync -avh --progress /Volumes/MacMini-Backup/Bilder/ "/Volumes/Time Machine/Archiv/Bilder/"
# borgbackup ist im Brewfile
borg --version
# Repo auf der Storage Box erstellen
borg init --encryption=repokey \
ssh://u540244@u540244.your-storagebox.de:23/./macbook-pro
Schlüssel exportieren, sichten, lokal löschen
borg key export \
ssh://u540244@u540244.your-storagebox.de:23/./macbook-pro \
~/borg-key-macbook-pro.txt
# Inhalt anzeigen → in den Passwort-Manager kopieren
cat ~/borg-key-macbook-pro.txt
# Wenn sicher abgelegt: lokale Kopie LÖSCHEN
rm ~/borg-key-macbook-pro.txt
Borg-Passwort in macOS Keychain ablegen
Passwort sicher in Keychain ablegen
# Einmalig: Passwort hinzufügen
security add-generic-password -a "borg-hetzner" -s "BorgBackup Hetzner u540244" -w "DEIN_BORG_PASSWORT"
# Im Script abrufen
export BORG_PASSPHRASE=$(security find-generic-password -a "borg-hetzner" -w)
# Test
borg info ssh://u540244@u540244.your-storagebox.de:23/./macbook-pro
export BORG_REPO="ssh://u540244@u540244.your-storagebox.de:23/./macbook-pro"
export BORG_PASSPHRASE=$(security find-generic-password -a "borg-hetzner" -w)
# Snapshots auflisten
borg list $BORG_REPO
# Inhalt eines Snapshots zeigen
borg list $BORG_REPO::macbook-2026-05-17_0200 | head -20
# Eine Datei testweise wiederherstellen
mkdir -p /tmp/borg-test && cd /tmp/borg-test
borg extract $BORG_REPO::macbook-2026-05-17_0200 Users/royrisser/Documents/Privat/Finanzen
ls -la /tmp/borg-test/Users/royrisser/Documents/Privat/Finanzen
# Aufräumen
rm -rf /tmp/borg-test
Komfort-Aliase für tägliche Borg-Operationen
~/.zshrc – Borg-Helper
# --- Borg ---
export BORG_REPO_HETZNER="ssh://u540244@u540244.your-storagebox.de:23/./macbook-pro"
alias borg-list='BORG_PASSPHRASE=$(security find-generic-password -a "borg-hetzner" -w) borg list $BORG_REPO_HETZNER'
alias borg-info='BORG_PASSPHRASE=$(security find-generic-password -a "borg-hetzner" -w) borg info $BORG_REPO_HETZNER'
alias borg-run='~/Scripts/hetzner-backup.sh'
alias borg-mount='BORG_PASSPHRASE=$(security find-generic-password -a "borg-hetzner" -w) borg mount $BORG_REPO_HETZNER /tmp/borg-mnt'
alias borg-unmount='borg umount /tmp/borg-mnt'
Cold Storage HDD #2 (exFAT) vorbereiten und bestücken
HDD #2 (5 TB) an Mac anschließen
Festplattendienstprogramm → Löschen: Name Cold Storage, Format exFAT, Schema GUID-Partitionstabelle
Linux-Server Backup auf dieselbe Storage Box (separates Repo)
Wenn ein Linux-Server zusätzlich gesichert wird: eigenes Repository auf der gleichen Storage Box, eigener SSH-Key, eigene Passphrase. Verhindert Cross-Kontamination und macht Restore-Rechte klar.
(Optional) Samba-Zugriff von macOS auf die Storage Box
Quick-Mount-Aliase in ~/.zshrc
alias hetzner-mount='open "smb://u540244@u540244.your-storagebox.de/u540244"'
alias hetzner-unmount='diskutil unmount /Volumes/u540244 2>/dev/null'
Alternativ Finder → Cmd+K → smb://u540244@u540244.your-storagebox.de/u540244. Nur für gelegentliches Durchstöbern – nicht für Backups.
Phase 10
0/12
Verifikation & Abschluss + Mac mini als AI-Server
Abnahme-Checks, sauberer Übergang, Ollama / Open WebUI / Tailscale auf dem Mac mini
Der Übergang ist fast geschafft. Jetzt prüfen wir jedes Subsystem einmal aktiv, machen einen Restore-Test, und erst danach dürfen wir den Mac mini M2 zurücksetzen und zum lokalen AI-Server (Ollama + Open WebUI + Tailscale, headless) umfunktionieren.
Apple-Menü → Systemeinstellungen → Energie: Bei ausgeschaltetem Display in den Ruhezustand → Nie
Erweitert: Automatisches Aktivieren des Ruhezustands bei ausgeschaltetem Display außer Kraft setzen ✅
Sharing: Bildschirmfreigabe + Verwaltung aus der Ferne ✅
Headless: HDMI-Dummy-Stecker (4K @ 60 Hz) im HDMI-Port – sonst drosselt die GPU bei nicht-angeschlossenem Display
Tailscale auf MacBook und Mac mini installieren
Tailscale (Wireguard-Mesh) verbindet beide Macs sicher, ohne Router-Ports zu öffnen oder DDNS einzurichten.
Tailscale via Brew (brew install --cask tailscale) auf beiden Macs
Mit gleichem Account anmelden
Mac mini bekommt eine stabile Tailscale-IP (z. B. 100.x.y.z) und einen Hostnamen wie zkyserver
MagicDNS aktivieren – dann reicht http://zkyserver statt IP
Ollama auf dem Mac mini installieren
Ollama installieren und starten
# Über Homebrew (auch auf Mac mini)
brew install ollama
# Service als LaunchAgent starten (läuft beim Login)
brew services start ollama
# Testen
ollama --version
curl http://127.0.0.1:11434/api/tags
Modelle laden – die 60%-RAM-Regel einhalten: maximal 60-70% des RAM für ein Modell. Mac mini M2 hat 16 GB → 7B-14B-Modelle sind das Maximum.
RAM
Modell-Größe (Faustregel)
8 GB
1B – 3B
16 GB (dein Mac mini M2)
7B – 14B
32 GB
30B+
48 GB (dein MacBook Pro)
70B mit Quantisierung
Empfohlene Modelle für 16 GB
# Allrounder
ollama pull llama3.3:8b
ollama pull qwen2.5:14b
# Code
ollama pull qwen2.5-coder:7b
ollama pull deepseek-coder-v2:16b-lite-base-q4_0
# Embeddings (für Open WebUI / RAG)
ollama pull nomic-embed-text
# Liste
ollama list
# Test-Chat
ollama run llama3.3:8b "Erkläre Tailscale in zwei Sätzen."
Ollama im Tailscale-Netzwerk erreichbar machen
Per Default hört Ollama nur auf 127.0.0.1:11434. Damit das MacBook über Tailscale zugreifen kann, muss Ollama auf 0.0.0.0 binden – und mit Tailscale ist das auch sicher, weil Tailscale ein privates Mesh ist.
Ollama-Listen-Adresse setzen
# Als brew service: Environment per launchd plist
launchctl setenv OLLAMA_HOST "0.0.0.0:11434"
# Service neustarten
brew services restart ollama
# Vom MacBook aus testen
curl http://zkyserver:11434/api/tags
Open WebUI als Docker-Container auf dem Mac mini
Docker installieren und Open WebUI starten
# Docker Desktop ist im Brewfile
open -a "Docker"
# Open WebUI Container starten
docker run -d \
--name open-webui \
--restart unless-stopped \
-p 8080:8080 \
-v open-webui:/app/backend/data \
-e OLLAMA_BASE_URL=http://host.docker.internal:11434 \
ghcr.io/open-webui/open-webui:main
# Erreichbar unter:
# http://zkyserver:8080 (vom MacBook via Tailscale)
# http://localhost:8080 (lokal auf dem Mac mini)
Im Browser → http://zkyserver:8080
Admin-Account anlegen (Mail/Passwort, lokal gespeichert)
Mac mini: zurückgesetzt, headless mit Tailscale, Ollama + Open WebUI laufen
Diesen Tracker-Status als JSON exportiert und mit dem alten Mac mini archiviert
🎉 Setup komplett. Den Tracker-Status kannst du jetzt über den Export-Button oben als JSON sichern – z. B. nach ~/Documents/Privat/Setup-Tracker.json, damit du in 2 Jahren beim nächsten Mac einen Referenzpunkt hast.