Nix 기반의 선언적이고 재현 가능한 개발 환경을 제공합니다. devenv.nix 파일에서 언어, 서비스, 프로세스를 설정할 수 있습니다.
jetify-com/devbox
컨테이너 없이 Nix 레지스트리의 프로젝트별 패키지로 격리되고 재현 가능한 개발 셸을 만드는 명령줄 도구입니다.
- 스타
- 12,447
- 포크
- 364
- 열린 이슈
- 409
- 마지막 커밋
- 18시간 전
어떤 프로젝트인가요?
Devbox는 격리된 개발 셸을 만드는 명령줄 도구입니다. 프로젝트에 필요한 패키지를 devbox.json 파일에 나열하면, 호스트 머신과 분리된 환경을 구성해 해당 도구만 정확히 사용할 수 있습니다. Python, Go, Node 같은 운영체제 패키지를 관리하는 프로젝트 단위 패키지 매니저처럼 동작하며, 수십만 개의 패키지 버전을 제공하는 Nix Package Registry를 활용합니다.
환경이 가상 머신 안이 아니라 노트북에서 직접 실행되므로 파일 접근과 명령 실행이 네이티브 속도로 이뤄집니다. 같은 정의를 재사용해 VS Code용 devcontainer, 프로덕션 이미지용 Dockerfile, 클라우드 개발 환경을 만들 수 있어 팀 전체가 단일 기준을 공유할 수 있습니다.
Devbox는 Go로 작성됐으며 Apache 2.0 라이선스를 따르고, Jetify가 처음 개발했습니다. Nix를 기반으로 하며, 내부적으로 Nix를 사용해 패키지를 확인하고 격리합니다.
핵심 기능
- 01프로젝트 도구를 devbox.json 파일에 선언하고 팀과 공유합니다.
- 02호스트 시스템을 건드리지 않고 버전이 지정된 OS 수준 패키지를 설치하고 실행합니다.
- 03devbox shell로 대화형 셸을 시작하거나 devbox run으로 일회성 명령을 실행합니다.
- 04같은 환경 정의를 바탕으로 devcontainer 및 Dockerfile 구성을 생성합니다.
- 05Nix Package Registry의 방대한 패키지 버전 카탈로그를 이용합니다.
활용 사례
- 프로젝트의 모든 기여자가 동일한 버전의 컴파일러와 CLI 도구를 사용하도록 합니다.
- 시스템 전체 설치를 변경하지 않고 새 도구나 언어 버전을 시험합니다.
- 같은 바이너리의 서로 충돌하는 버전이 필요한 여러 프로젝트를 작업합니다.
- 로컬 개발과 동일한 도구를 사용하는 프로덕션 컨테이너 이미지를 빌드합니다.
빠른 시작
- 1
새 빈 폴더에서 터미널을 열고 Devbox를 초기화합니다
devbox init - 2
Nix에서 패키지를 추가합니다(예: Python 3.10)
devbox add python@3.10 - 3
이 도구들이 설치된 셸을 시작합니다
devbox shell - 4
먼저 README의 공식 설치 스크립트를 실행합니다(원격 스크립트를 bash에 파이프로 전달합니다)
사용 전 알아둘 점
- 패키지는 Nix 레지스트리에서 제공되므로 Devbox의 기반으로 Nix 기반 도구가 필요합니다.
토픽
자주 묻는 질문
- devbox은(는) 무엇인가요?
- 컨테이너 없이 Nix 레지스트리의 프로젝트별 패키지로 격리되고 재현 가능한 개발 셸을 만드는 명령줄 도구입니다. Devbox는 격리된 개발 셸을 만드는 명령줄 도구입니다. 프로젝트에 필요한 패키지를 devbox.json 파일에 나열하면, 호스트 머신과 분리된 환경을 구성해 해당 도구만 정확히 사용할 수 있습니다. Python, Go, Node 같은 운영체제 패키지를 관리하는 프로젝트 단위 패키지 매니저처럼 동작하며, 수십만 개의 패키지 버전을 제공하는 Nix Package Registry를 활용합니다.
- devbox은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- devbox은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- devbox은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. devbox의 마지막 커밋은 2026년 11월 6일입니다.
- devbox은(는) 어디에 사용할 수 있나요?
- 프로젝트의 모든 기여자가 동일한 버전의 컴파일러와 CLI 도구를 사용하도록 합니다. 시스템 전체 설치를 변경하지 않고 새 도구나 언어 버전을 시험합니다. 같은 바이너리의 서로 충돌하는 버전이 필요한 여러 프로젝트를 작업합니다. 로컬 개발과 동일한 도구를 사용하는 프로덕션 컨테이너 이미지를 빌드합니다.
- devbox는 어떻게 설치하나요?
- 새 빈 폴더에서 터미널을 열고 Devbox를 초기화합니다: devbox init Nix에서 패키지를 추가합니다(예: Python 3.10): devbox add python@3.10 이 도구들이 설치된 셸을 시작합니다: devbox shell 먼저 README의 공식 설치 스크립트를 실행합니다(원격 스크립트를 bash에 파이프로 전달합니다)
- devbox은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/jetify-com/devbox
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Python 배포판과 기타 시스템으로 만든 애플리케이션을 반복 가능하게 구성하고 배포하는 도구입니다.
C 컴파일러만 빌드에 필요한 단일 헤더 C 라이브러리로, C로 빌드 스크립트를 작성할 수 있습니다.
Python 함수로 작업을 정의하고, 최신 상태인 작업은 건너뛰는 Python 작업 실행기이자 빌드 도구입니다.
Rust로 작성된 매우 빠른 Python 패키지 및 프로젝트 관리자로, pip, virtualenv, pyenv, pipx 등을 대체합니다.
Python CLI 애플리케이션을 격리된 환경에 설치하고 실행해, 애플리케이션끼리 또는 시스템과 의존성이 충돌하지 않도록 합니다.