MENU

Devboxとは|Jetify社が2022年に公開したNix基盤の環境構築

Devbox アイキャッチ
Devbox

Devboxは2022年8月に米国Jetify社(設立時の社名Jetpack.io、2024年に改名)が公開した、Nix Package Managerを基盤にした開発環境構築ツールである。devbox initでプロジェクトにdevbox.jsonを作り、devbox add python@3.12 nodejs@20で必要なツールを宣言的に追加できる。バックエンドにNixを使うため再現性が極めて高く、しかも利用者にNixの複雑な言語DSLを意識させない設計が特徴である。Codespacesや独自クラウドとの連携でも注目を集めた。

目次

この記事の目次

  1. Nixの強力さと学習コストの折衷
  2. 宣言ファイルとscriptsの構成
  3. Dockerやmiseとの位置取りの違い
  4. Jetify社の事業展開と現状
  5. まとめ

Nixの強力さと学習コストの折衷

Nixの強力さと学習コストの折衷

Nixは2003年に公開された関数型パッケージマネージャで、依存とビルド成果物をハッシュで完全に固定する仕組みを持つ。再現性の観点ではDockerより強力な特性を持つ一方、Nix言語の学習コストが高く、開発者の日常的な利用ハードルを下げる工夫が長らく求められていた。Jetify(当時Jetpack.io)は2022年にこの課題を解決する位置づけでDevboxを公開した。

DevboxはNixpkgsを内部で参照しつつ、ユーザーはJSON形式の宣言ファイルで「使うパッケージ名+バージョン」だけを書けば良い。devbox shellを叩くとNixが背後で必要なパッケージを取得・キャッシュし、PATHの整った隔離シェルに入る。Dockerコンテナのような重い仮想化を使わずに環境を切り分けられる点が、ローカル開発における大きな利点となっている。

宣言ファイルとscriptsの構成

宣言ファイルとscriptsの構成

devbox.jsonには主にpackagesshell.init_hookshell.scriptsを記述する。packagesにはNixpkgsの属性名(python@3.12.1など)を並べ、init_hookにはシェル起動時の初期化スクリプト、scriptsには任意のサブコマンドを定義する。devbox run testのように呼び出せばTaskfileやjust相当のタスクランナー機能も得られる。

Lock相当の役割はdevbox.lockが担い、Nixpkgsのリビジョンとパッケージのハッシュを記録する。チーム全員がdevbox shellを叩けばOS問わず完全に同じバージョンのツール群が手元に揃う。CIでも同じファイルを使うため、ローカルと本番の差分による事故が起きにくい。Nixの再現性メリットを最大限活かす設計と言える。

Dockerやmiseとの位置取りの違い

Dockerやmiseとの位置取りの違い

Dockerコンテナ型の開発環境(devcontainerなど)はOSを丸ごとパッケージ化する反面、ファイルシステムのオーバーヘッドやIDE統合の手間が大きい。Devboxはホスト上に隔離PATHを構築する方式で、ファイルアクセスや実行コストはホストネイティブと変わらない。Macでfsevents周りが重くなる、WindowsのDocker Desktopが重いといった悩みを回避できる。

miseと比較するとmiseは個別ツールのversion managerに環境変数とタスクを足した方向、Devboxはパッケージマネージャを基盤として宣言的環境を提供する方向で、目指す山は近いがアプローチが異なる。再現性の硬さを最重要視するチームではDevbox、シンプルさを優先する個人開発ではmiseという棲み分けが見えてきている。

Jetify社の事業展開と現状

Jetify社の事業展開と現状

Jetify社は2024年に社名をJetpack.ioから現在のJetifyへ改名し、DevboxをOSSとして公開しつつ、Jetify Cloudというマネージドサービスでクラウド上の開発環境を提供している。devbox.jsonを共有すればチームメンバーがブラウザから即座にIDEとシェルにアクセスできる仕組みで、GitHub Codespacesに対する代替として位置付けられている。

OSSとしてのDevboxはApache 2.0で公開されており、商用機能なしでもローカル開発の用途は十分に満たせる。Nixpkgsの巨大なパッケージカタログ(8万件超)が背後にあり、Python・Node.js・Ruby・Java・Go・Rustなど主要言語は問題なく揃う。Nixの強力さを取り回しの良いUIで包んだ点で、再現可能環境を望むチームに有力な選択肢となっている。

まとめ

Devboxは2022年にJetify社が公開した、Nixの再現性とユーザー体験の良さを両立させる開発環境構築ツールである。devbox.json一本で多言語の隔離シェルを作れ、Docker型より軽量・mise型より再現性が高いという独自の立ち位置を確立した。Nixの恩恵を低い学習コストで享受したい開発チームにとって、検討価値の高い選択肢である。

※本記事はIT用語辞典の手書きドラフトです。公開前に最新情報・出典を確認のうえ加筆修正してください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次