31 lines
1.9 KiB
Markdown
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 전역 캐시 권한이나 네트워크 문제로 평가가 실패할 수 있으므로, 코드 오류와 환경 오류를 구분해 보고합니다. 포맷터가 별도로 설정되어 있지 않다면 자동 포맷으로 대규모 파일을 재작성하지 말고, 변경 범위를 작게 유지합니다.
|