Kompletne odstraneno: - Emoji (smajliky, symboly, boxes, arrows) z README - Emoji ze skriptu (sipky, symboly) - Emoji z docker-compose (adresare) Nahrano za: - Textove alternativy (sipky -> '->', boxes -> '+', atd.) - ASCII pouze kde to slo Ciste vsechny 7 repo (overeno Python skriptem).
213 lines
5.1 KiB
Markdown
213 lines
5.1 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
|