Nixで始める開発環境構築法
最近、Nixに対する注目が高まっており、特に開発環境を効率的に管理したいと考えている開発者にとってNixは魅力的な選択肢となるでしょう。しかし、Nixを始めようとした際に情報が不足していると感じることも多いです。そこで、本記事ではNixを利用して開発環境を構築するための最初のステップを紹介します。
対象者
- 埋め込みモデルに興味がある方
- ローカルLLMに興味がある方
- Webアプリ開発に興味がある方
検証環境
- ミニPC(M30A): N100(4core)@3.40GHz, 16GB # フロントエンド, バックエンド(埋め込み含む)
- Mac Studio(M2 Ultra 128GB)# LLMにゲームをプレイさせるときのみに使用
Nixの基本概念と導入
Nixはパッケージマネージャーであり、開発環境を構築するための強力なツールです。特にNixのflakes機能を活用すると、プロジェクト単位で環境をバージョン管理できます。最初に、nix-commandとflakesを有効にする必要があります。これについては、NixOS Wikiを参考にしてください。
環境構築の手順
- Nixのインストール: 公式サイトからNixをダウンロードし、システムにインストールします。
- Flakesの有効化: Nixの設定ファイルを編集し、flakesを有効化します。
- プロジェクト初期化: `nix flake init` コマンドを使用して、新しいプロジェクトを作成します。
- パッケージの追加: `nix develop`で開発環境を立ち上げ、必要なライブラリやツールを追加します。
実践例: Webアプリ開発環境の構築
本セクションでは、WebアプリのフロントエンドとバックエンドにTypeScriptを使用したプロジェクトをNixで管理する方法について解説します。
Full-Stack TypeScriptの利点
TypeScriptを使用することでフロントエンドとバックエンドのコードを統一でき、開発の生産性が向上します。これをNixで管理することで、チームの開発環境を統一しやすくなります。
セットアップの流れ
- 必要パッケージの追加: `package.nix` ファイルにTypeScriptなど必要なパッケージを定義。
- Nix Flakesの利用: プロジェクトのflakeの設定を更新し、依存関係を管理します。
- 開発環境の起動: `nix develop`を実行して環境を立ち上げ、以降の開発を開始します。
おわりに
Nixを使った開発環境の管理は、数多くの利点を提供します。特に、複数のプロジェクトに対して一貫した環境を素早く構築・展開できる点は大きな魅力です。Nixを活用して、より効率的で統一感のある開発環境を実現し、開発の質を向上させましょう。