213 lines
5.4 KiB
Markdown
213 lines
5.4 KiB
Markdown
# mates-macos-setup
|
||
|
||
Nastavení macOS workstation + Hermes AI asistent.
|
||
Kompletní automatizace: Homebrew, macOS defaults, Fish shell, Hermes CLI.
|
||
|
||
> **Jsi začátečník?** Čti od [Začínáme](#zaciname) – vše krok za krokem.
|
||
|
||
---
|
||
|
||
## 📦 Co tu je
|
||
|
||
| Soubor | Co dělá |
|
||
|---|---|
|
||
| `Brewfile` | Seznam všech aplikací (Homebrew) |
|
||
| `osx-defaults.sh` | Nastaví Finder, Dock, klávesnici, Safari |
|
||
| `configure-fish.sh` | Nastaví Fish shell s aliasy |
|
||
| `install-hermes.sh` | Nainstaluje Hermes AI agenta |
|
||
| `configure-hermes.sh` | Nastaví Hermes (API klíč z keychainu) |
|
||
| `hermes-config.example.yml` | Ukázková konfigurace Hermes |
|
||
|
||
---
|
||
|
||
## 🚀 Začínáme (nový Mac)
|
||
|
||
### Krok 1: Nainstaluj Homebrew
|
||
|
||
```bash
|
||
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||
```
|
||
|
||
### Krok 2: Naklonuj repo
|
||
|
||
```bash
|
||
git clone http://<server-ip>:3000/mates/mates-macos-setup.git
|
||
cd mates-macos-setup
|
||
```
|
||
|
||
### Krok 3: Nainstaluj všechny aplikace
|
||
|
||
```bash
|
||
brew bundle --file=Brewfile
|
||
```
|
||
|
||
Tím se nainstaluje **všechny aplikace** z Brewfile:
|
||
- **CLI:** fish, eza, fd, bat, fzf, btop, jq, yq, ffmpeg, deno, python, exiftool, ...
|
||
- **GUI:** Chrome, Firefox, Discord, WhatsApp, Bitwarden, Notion, Obsidian, VSCode, OBS, VLC, Spotify, ...
|
||
|
||
### Krok 4: macOS defaults
|
||
|
||
```bash
|
||
bash osx-defaults.sh
|
||
```
|
||
|
||
Tím se nastaví:
|
||
- **Finder:** zobrazit skryté soubory, přípony, cestovní panel, icnv (ikony)
|
||
- **Dock:** magnification, skrýt nedávné aplikace, tilesize=33
|
||
- **Trackpad:** pravý klik, momentum scroll
|
||
- **Terminal:** profil Clear Dark
|
||
|
||
### Krok 5: Fish shell
|
||
|
||
```bash
|
||
bash configure-fish.sh
|
||
```
|
||
|
||
Tím se nastaví `~/.config/fish/config.fish` s aliasy:
|
||
|
||
| Alias | Co dělá |
|
||
|---|---|
|
||
| `update` | Spustí `~/Skripty/update-macos.sh` |
|
||
| `dk-update`, `dk-backup`, `dk-cleanup`, ... | Docker skripty |
|
||
| `dk-list` | Seznam záloh |
|
||
| `dk-nas-mount`, `dk-nas-status` | NAS mount |
|
||
|
||
### Krok 6: Hermes (volitelné)
|
||
|
||
```bash
|
||
bash install-hermes.sh # nainstaluje Hermes
|
||
bash configure-hermes.sh # nastaví API klíč z keychainu
|
||
```
|
||
|
||
**Co dělá configure-hermes.sh:**
|
||
- Hledá API klíč v macOS keychainu (`security find-generic-password -s "hermes:api"`)
|
||
- Vytvoří `~/.config/hermes/config.yml`
|
||
- Nastaví `HERMES_API_KEY` v shellu
|
||
|
||
---
|
||
|
||
## 📚 Detail ke každému souboru
|
||
|
||
### `Brewfile`
|
||
|
||
Seznam všech CLI a GUI aplikací. Spustí se přes `brew bundle --file=Brewfile`.
|
||
|
||
**Obsahuje:**
|
||
|
||
```ruby
|
||
# CLI (formulas)
|
||
brew "fish" # Defaultní shell
|
||
brew "eza" # ls náhrada
|
||
brew "fd" # find náhrada
|
||
brew "bat" # cat náhrada
|
||
brew "btop" # System monitor
|
||
brew "jq" # JSON parser
|
||
brew "ffmpeg" # Video/audio konverze
|
||
brew "deno" # JavaScript runtime
|
||
# ... další
|
||
|
||
# GUI (casks)
|
||
cask "google-chrome"
|
||
cask "bitwarden"
|
||
cask "obsidian"
|
||
cask "visual-studio-code"
|
||
# ... další
|
||
```
|
||
|
||
### `osx-defaults.sh`
|
||
|
||
Nastaví **tyto** hodnoty (1:1 kopie tvého aktuálního setupu):
|
||
|
||
- **Finder:** AppleShowAllFiles, ShowPathbar, ShowStatusBar, icnv, Date Modified, PfHm
|
||
- **Dock:** magnification, show-recents=0, tilesize=33
|
||
- **Trackpad:** TrackpadRightClick, TrackpadMomentumScroll, TrackpadThreeFingerDrag=0
|
||
- **Terminal:** Clear Dark profil
|
||
- **TextEdit:** NSDocumentSuppressTempVersionStoreWarning
|
||
|
||
### `configure-fish.sh`
|
||
|
||
Vytvoří `~/.config/fish/config.fish`:
|
||
|
||
```fish
|
||
# Aliasy pro docker skripty
|
||
alias dk-update="..."
|
||
alias dk-backup="..."
|
||
alias dk-cleanup="..."
|
||
|
||
# Zakázání welcome message
|
||
set -g fish_greeting ""
|
||
|
||
# Hermes – zajisti ~/.local/bin v PATH
|
||
fish_add_path "$HOME/.local/bin"
|
||
```
|
||
|
||
### `install-hermes.sh`
|
||
|
||
- Nainstaluje Hermes přes `pip install --user hermes-agent`
|
||
- Přidá do PATH v `~/.zshrc` a Fish config
|
||
- Vytvoří aliasy `h`, `hchat`, `hgit`, `hd` v Fish
|
||
|
||
### `configure-hermes.sh`
|
||
|
||
- Hledá API klíč v macOS keychainu (služba: `hermes:api`)
|
||
- Vytvoří `~/.config/hermes/config.yml` s:
|
||
- `provider: anthropic`
|
||
- `model: claude-sonnet-4.5`
|
||
- `sandbox` (allow/deny seznam příkazů)
|
||
- `integrations.gitea`, `integrations.docker`, `integrations.git`
|
||
- Nastaví `HERMES_API_KEY` v `~/.zshrc` a Fish config
|
||
|
||
### `hermes-config.example.yml`
|
||
|
||
Ukázková konfigurace. Slouží jako šablona – **reálná konfigurace je v `~/.config/hermes/config.yml`** (generovaná `configure-hermes.sh`).
|
||
|
||
---
|
||
|
||
## 🔐 Bezpečnost
|
||
|
||
- ✅ **FileVault** – povolit v System Settings → Privacy & Security
|
||
- ✅ **Firewall** – povolit v System Settings → Network → Firewall
|
||
- ✅ **API klíč Hermes** – uložen v **macOS keychainu**, nikdy v config.yml
|
||
- ✅ **Hesla NAS** – uložena v keychainu, ne v skriptech
|
||
- ✅ **SSH klíče** – passphrase v keychainu
|
||
|
||
---
|
||
|
||
## 🏗 Struktura
|
||
|
||
```
|
||
mates-macos-setup/
|
||
├── README.md # Tento soubor
|
||
├── LICENSE # MIT
|
||
├── Brewfile # Seznam aplikací
|
||
├── osx-defaults.sh # macOS nastavení
|
||
├── configure-fish.sh # Fish aliasy
|
||
├── install-hermes.sh # Hermes instalace
|
||
├── configure-hermes.sh # Hermes konfigurace
|
||
└── hermes-config.example.yml # Ukázková konfigurace
|
||
```
|
||
|
||
---
|
||
|
||
## 🔄 Aktualizace
|
||
|
||
```bash
|
||
# Homebrew
|
||
brew update && brew upgrade && brew cleanup
|
||
|
||
# macOS
|
||
System Settings → Software Update
|
||
```
|
||
|
||
---
|
||
|
||
## 📚 Související
|
||
|
||
- **Jotty:** knowledge base
|
||
- **mates-install-scripts:** bash skripty pro Docker
|
||
- **mates-ansible:** Ansible pro nový server
|
||
|
||
---
|
||
|
||
**Poslední update:** 2026-08-01
|