AI 코딩 툴킷을 한 번 선언하고 어디서든 재현하기 위한 nix-ai
요약
nix-ai는 Nix와 flakes를 활용하여 Claude Code, Gemini 설정 등 복잡한 AI 코딩 툴킷 전체 설정을 코드(Infrastructure as Code)로 포착합니다. 이를 통해 사용자가 어떤 환경에서든 일관되고 재현 가능한 개발 환경을 단 하나의 명령어로 구축할 수 있게 합니다.
핵심 포인트
- AI 코딩 툴킷 전체를 Nix를 이용해 코드로 관리 가능
- Claude Code, Gemini 등 다양한 AI 설정을 통합적으로 지원
- 환경 변화에 관계없이 모든 AI 설정을 일관되게 재현
nix-ai
한 번 선언하는 당신의 AI 코딩 툴킷, 모든 곳에 재현됩니다
혹시 Claude Code 플러그인, Gemini 설정, MCP 서버 등을 구성하느라 몇 시간을 보냈는데, 기기를 바꾸자마자 모든 것을 잃어버린 적이 있나요? nix-ai는 Nix를 사용하여 당신의 전체 AI 설정을 코드로 포착합니다. 단 하나의 명령어로 모든 것을 동일하게 재구축할 수 있습니다.
관리하는 항목
| 툴 | 얻게 되는 것 |
|---|---|
| Claude Code | 플러그인 생태계, 후크(hooks), 에이전트(agents), 명령어, 규칙 |
| ... |
Claude Code, Codex 및 Antigravity CLI는 항상 구성됩니다. 다른 에이전트 CLI(Copilot, OpenCode, Qwen Code, Cecli, claude-zai, claude-flow)는 programs.ai.untrustedClis.enable = true일 때만 설치됩니다. oh-my-openagent (OpenCode 플러그인 진입점 및 omo-senpi 래퍼)는 기본적으로 비활성화되어 있으며 programs.ai.ohMyOpenagent.disabled = false가 필요합니다. 또한 omo-senpi도 untrusted gate가 필요합니다.
필수 조건 (Prerequisites)
- Nix와 flakes (결정론적 Nix(Determinate Nix) 권장)
- home-manager
- 지원되는 플랫폼:
aarch64-darwin또는x86_64-linux
설치 (Installation)
flake에 다음 입력을 추가하세요:
{
inputs.nix-ai = {
url =
| Export | 포함 내용 |
| ------ | --------------- |
| `homeManagerModules.default` | 전체 AI 스택 — 아래 모든 도구 |
| ... |
### 독립적인 설계
이 모듈은 `_module.args`를 통해 자체 의존성을 주입합니다. 사용하는 flake는 단 두 개의 `follows` 라인만 필요합니다:
```nix
inputs.nixpkgs.follows = "nixpkgs";
inputs.home-manager.follows = "home-manager";
AI 관련 입력(input)을 연결할 필요도, 추가적인 설정도 없습니다. 그냥 작동합니다.
사용법
모든 것은 합리적인 기본값으로 활성화됩니다. 기본 모듈의 일반적인 토글 옵션:
| 옵션 | 타입 | 기본값 | 설명 |
|---|---|---|---|
programs.claude.model | str 또는 null | null | 기본 모델 재정의 (예: "opus", "sonnet") |
| ... | |||
Claude의 전체 옵션 스키마는 nix-claude-code에서 가져왔으며, MCP 카탈로그는 modules/mcp/README.md에 문서화되어 있습니다. |
테스트 및 유효성 검사
nix flake check # nixfmt, statix, deadnix, shellcheck, 전체 모듈 평가
nix fmt # 자동 포맷 수정
리포지토리 구조
modules/
├── claude/ # Claude Code — 플러그인, 훅, 에이전트, 규칙
├── codex/ # OpenAI Codex
...
launchd/TCC
여기에 정의된 에이전트는 프로그램과 인수를 평소처럼 선언합니다. 사용하는 호스트 구성은 모든 에이전트를 고유하게 이름 붙여진 실행 파일 뒤에 배치하고 렌더링된 plists를 확인하므로, Background Items는 절대 셸이나 인터프리터를 목록으로 표시하지 않습니다. 실행되는 프로그램, 그 인수, 그리고 최종 프로세스 이미지는 변경되지 않으며, MLX 에이전트는 programs.mlx.appleInterpreter를 통해 Apple의 bash를 유지합니다.
라이선스
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Claude Ecosystem의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기