nix-flakes/AGENT.md
2026-08-16 20:03:47 +09:00

31 lines
1.9 KiB
Markdown

# AGENT.md
이 저장소는 NixOS 26.11을 기준으로 관리하는 개인 Nix flake입니다.
## 반드시 지킬 규칙
- 저장소 안의 `default.nix` 대부분의 경우에는 파일은 수정하지 않습니다. 하지만 필요한 경우 수정하세요. 호스트 진입점과 모듈 진입점이므로, 변경이 필요하면 이를 참조하는 다른 파일이나 진입점 밖의 모듈을 수정합니다.
- 기존 작업 트리의 변경사항을 덮어쓰지 않습니다. 작업 전 `git status --short``git diff`를 확인합니다.
- `hosts/**/secrets/` 아래의 비밀 파일을 복호화하거나 내용을 출력하지 않습니다.
- 호스트별 설정은 `hosts/`, 재사용 가능한 NixOS/Home Manager 설정은 `modules/`, 패키지 오버레이는 `overlays/`에 둡니다.
- 새 호스트를 추가하거나 flake 출력 구조를 바꿀 때는 기존 `default.nix`를 수정하지 않고, 필요한 경우 그 파일을 호출하는 `flake.nix` 또는 호스트의 비-default 모듈만 조정합니다.
## 구조
- `flake.nix`: 입력, 오버레이, `nixosConfigurations``darwinConfigurations`를 정의합니다.
- `hosts/machine/`: 데스크톱·노트북·WSL 호스트입니다.
- `hosts/server/`: 서버 호스트와 서비스 설정입니다.
- `modules/mizukios/`: 공통 NixOS 기반 및 기능 모듈입니다.
- `modules/home/`: 공통 Home Manager 모듈입니다.
- `assets/`: 설정에서 참조하는 이미지와 테마 자산입니다.
## 검증
가능한 경우 다음 순서로 확인합니다.
```sh
git diff --check
nix flake check --no-build
```
Nix 전역 캐시 권한이나 네트워크 문제로 평가가 실패할 수 있으므로, 코드 오류와 환경 오류를 구분해 보고합니다. 포맷터가 별도로 설정되어 있지 않다면 자동 포맷으로 대규모 파일을 재작성하지 말고, 변경 범위를 작게 유지합니다.