# Dotfiles Персональные конфигурационные файлы для настройки рабочего окружения. ## 📦 Содержимое ### Bash - **Файлы:** `bash/.bash_custom`, `bash/.bash_functions`, `bash/.bash_prompt` - Подключение кастомных bash-файлов (функции, prompt, секреты) поверх стандартного `~/.bashrc` - Кастомный двухстрочный prompt (подключается из `~/.bash_prompt`) - Поддержка цветного вывода и автодополнения ### Tmux - **Файл:** `tmux/.tmux.conf` - Два префикса: `Ctrl+b` (стандартный) и `Ctrl+Space` (удобный) - Визуальный стиль с синей цветовой схемой - Vi-режим для копирования - Горячие клавиши: - `|` / `-` — разделение панелей - `Alt+стрелки` — изменение размера панелей и переключение окон - `r` — перезагрузка конфига ### Vim - **Файл:** `vim/.vimrc` - Минималистичная конфигурация без плагинов - 2 пробела вместо табов (оптимально для YAML/XML) - Поддержка мыши и подсветка поиска - Leader key: `Space` - `w` — сохранить - `h` — убрать подсветку поиска - `p` — вставка без форматирования ### Zed - **Директория:** `zed/.config/zed/` - Структура для конфигурации Zed редактора ### Opencode - **Директория:** `opencode/.config/opencode/` - Конфигурация AI-ассистента opencode с MCP-серверами: - **context7** — документация библиотек - **web-reader** — чтение веб-страниц - **web-search-prime** — поиск в интернете - **zread** — чтение GitHub репозиториев - **playwright** — браузерная автоматизация - Требует переменных окружения (см. `.env.example`) - Скиллы берутся из общего пакета `agents/.agents/skills/` через симлинк `~/.config/opencode/skills` ### Agents (shared skills) - **Директория:** `agents/.agents/skills/` - Каноничное место для общих скиллов в формате `~/.agents/skills//SKILL.md` ### Codex - **Директория:** `codex/.codex/skills/` - Тонкие симлинки в `~/.codex/skills/` на общие skills из `~/.agents/skills/` ### Claude - **Директория:** `claude/.claude/` - Тонкий симлинк `~/.claude/skills` на общие skills из `~/.agents/skills/` ## 🚀 Установка ### Ручная установка ```bash # Bash cp bash/.bash_custom ~/.bash_custom cp bash/.bash_functions ~/.bash_functions cp bash/.bash_prompt ~/.bash_prompt # Подключите кастомные настройки в ~/.bashrc (один раз) # [ -f ~/.bash_custom ] && source ~/.bash_custom source ~/.bashrc # Tmux cp tmux/.tmux.conf ~/ tmux source-file ~/.tmux.conf # Vim cp vim/.vimrc ~/ # Zed mkdir -p ~/.config/zed cp zed/.config/zed/* ~/.config/zed/ 2>/dev/null || true # Opencode mkdir -p ~/.config/opencode cp opencode/.config/opencode/* ~/.config/opencode/ # Agents (shared skills) mkdir -p ~/.agents/skills cp -r agents/.agents/skills/* ~/.agents/skills/ # Codex (bridge to shared skills) mkdir -p ~/.codex/skills ln -snf ~/.agents/skills/conventional-commits ~/.codex/skills/conventional-commits # Claude (bridge to shared skills) mkdir -p ~/.claude ln -snf ~/.agents/skills ~/.claude/skills ``` ### Stow (рекомендуется) ```bash # Установка stow sudo apt install stow # Применение конфигов cd /path/to/dotfiles stow bash tmux vim zed agents opencode codex claude ``` Важно: `bash` пакет кладет файлы `~/.bash_custom`, `~/.bash_functions`, `~/.bash_prompt`. Убедитесь, что ваш `~/.bashrc` содержит строку: ```bash [ -f ~/.bash_custom ] && source ~/.bash_custom ``` ## 🔧 Требования - Linux (протестировано на Ubuntu) - Bash 4.0+ - Tmux 2.0+ - Vim 8.0+ ## 📝 Дополнительные файлы Для полной настройки создайте: - `~/.bash_aliases` — персональные алиасы - `~/.env.secrets` — приватные переменные окружения (API ключи) ## 🔑 Переменные окружения ### Кастомные функции bash Файл `bash/.bash_functions` содержит пользовательские функции (proxy_on/off, myip и др.). При использовании `stow bash` он будет доступен как `~/.bash_functions`. ### Приватные переменные (секреты) 1. Скопируйте шаблон: ```bash cp bash/.env.secrets.example ~/.env.secrets ``` 2. Отредактируйте и добавьте API ключи: ```bash # Context7 API (https://context7.com) export CONTEXT7_API_KEY="your_context7_api_key_here" # Z.AI API для LLM, поиска и чтения (https://z.ai) export ZAI_API_KEY="your_zai_api_key_here" ``` Файл `~/.env.secrets` автоматически подгружается при старте shell. См. `.env.example` для дополнительной информации.