Nixを基盤に、devenv.nixファイルで言語、サービス、プロセスを設定して、宣言的で再現性の高い開発環境を構築できます。
jetify-com/devbox
コンテナを使わず、Nix Registryのプロジェクト固有パッケージで分離された再現性の高い開発シェルを作成するCLIツール。
- スター
- 12,448
- フォーク
- 363
- 未解決の Issue
- 409
- 最終コミット
- 昨日
これは何?
Devboxは、分離された開発シェルを作成するCLIツールです。プロジェクトに必要なパッケージをdevbox.jsonファイルに記述すると、ホストマシンとは切り離して、必要なツールだけを備えた環境を構築できます。Python、Go、NodeなどのOSパッケージを管理する、プロジェクト単位のパッケージマネージャーのように動作し、数十万ものパッケージバージョンを提供するNix Package Registryを利用します。
環境は仮想マシン内ではなく、ノートPC上で直接動作するため、ファイルアクセスやコマンド実行はネイティブ速度を保てます。同じ定義から、VS Code用のdevcontainer、本番イメージ用のDockerfile、クラウド開発環境を作成できるため、チーム全員が単一の信頼できる情報源を使って作業できます。
DevboxはGoで書かれ、Apache 2.0ライセンスで公開されており、Jetifyによって開発が始まりました。Nixを基盤としており、内部でパッケージの解決と分離に利用しています。
主な機能
- 01devbox.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 Registryのプロジェクト固有パッケージで分離された再現性の高い開発シェルを作成するCLIツール。 Devboxは、分離された開発シェルを作成するCLIツールです。プロジェクトに必要なパッケージをdevbox.jsonファイルに記述すると、ホストマシンとは切り離して、必要なツールだけを備えた環境を構築できます。Python、Go、NodeなどのOSパッケージを管理する、プロジェクト単位のパッケージマネージャーのように動作し、数十万ものパッケージバージョンを提供する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でビルドスクリプトを書けるシングルヘッダーライブラリ。
タスクを通常のPython関数として定義でき、最新の状態にある処理をスキップするPython製タスクランナー兼ビルドツール。
Rust製の超高速なPythonパッケージ/プロジェクト管理ツール。pip、virtualenv、pyenv、pipxなどを置き換えます。
PythonのCLIアプリを依存関係が互いに、またシステムと衝突しないよう、隔離環境にインストールして実行します。