Files
dotfiles/AGENTS.md
T
Dmitry 7c8a4893de migrate: stow → chezmoi
- restructure repo to chezmoi conventions (dot_ prefix, private_dot_ssh/)
- add nvim config (was untracked)
- encrypt restic pass.txt with age
- remove stow artifacts (.stow-local-ignore, stow package dirs)
- update bootstrap.sh to use chezmoi apply
- remove runtime files from tracking (micro buffers, zed backup)
2026-05-13 18:28:01 +03:00

3.7 KiB
Raw Blame History

AGENTS.md

This file provides guidance to Codex (Codex.ai/code) when working with code in this repository.

Репозиторий

Dotfiles под управлением GNU Stow. Каждый каталог верхнего уровня — это stow-пакет. stow -t ~ <package>/ создаёт симлинки из пакета в $HOME, сохраняя структуру подкаталогов.

Исключения (не разворачиваются через stow): configs/, nixos/ — это утилитарные каталоги вне stow-конвенции, описаны в .stow-local-ignore.

Развёртывание

# Все пакеты сразу
stow -t ~ */

# Один пакет
stow -t ~ zsh

# Проверить без применения (dry run)
stow -n -t ~ zsh

# Удалить симлинки пакета
stow -D -t ~ zsh

Быстрый старт на новой машине — bootstrap.sh (устанавливает зависимости + запускает stow + меняет shell на zsh).

Структура пакетов

Пакет Что настраивает
zsh/ Zsh: .zshenvZDOTDIR=~/.config/zsh, модульный .zshrc + 8 файлов в config/
git/ .gitconfig, .gitignore_global
ssh/ ~/.ssh/config (Include-based) + config.d/ с нумерованными секциями
tmux/ .tmux.conf (базовый) + .tmux.conf.local (кастомизации)
nvim/ LazyVim-конфиг с init.lua и lua/config/
alacritty/ Терминал alacritty (запасной)
kitty/ Основной терминал: Nord, вкладки, сплиты, kitty graphics protocol
zed/ Редактор Zed
restic/ Resticprofile: бэкапы на Яндекс.Диск через rclone
fastfetch/ Системный fetch
micro/ Редактор micro
vim/ .vimrc

SSH-конфиг

Конфиги разбиты по файлам с числовым префиксом (приоритет — чем меньше, тем раньше):

  • 00-globals.conf — глобальные дефолты
  • 10-local.conf — локальная сеть
  • 20-selfhost.conf — self-hosted сервисы
  • 30-corporate.conf — рабочие хосты
  • 40-proxy.conf — proxy jump / socks

Zsh-конфиг

Загрузочный порядок: .zshenvZDOTDIR.zshrcconfig/*.zsh:

  1. env.zsh — переменные окружения
  2. options.zsh — опции shell
  3. plugins.zsh — плагины через zinit
  4. completion.zsh — автодополнение
  5. aliases.zsh — алиасы
  6. functions.zsh — функции
  7. keybindings.zsh — горячие клавиши
  8. prompt.zsh — промпт (starship / p10k)

Машинно-специфичные настройки кладутся в config/local.zsh (не в репозитории).

Restic-бэкапы

Профили в restic/.config/resticprofile/profiles.yaml. Хранилище — Яндекс.Диск через rclone remote yadisk. Пароль репозитория — pass.txt (в репозитории, не публичен).

resticprofile -n dotfiles backup    # бэкап конфигов
resticprofile snapshots             # список снимков
resticprofile -n dotfiles check     # проверка целостности

Коммиты

Стиль коммитов: backup: YYYY-MM-DD HH:MM для плановых бэкапов. Для изменений конфигов — обычные описательные сообщения.