Skip to content

Nix

Description:
宣言的なアプローチを採用した強力なパッケージ管理システム
Updated:
2026/01/28
  • 不変なパッケージストア: /nix/store にハッシュ化されたパスでインストール。依存関係の競合を根本から解決。
  • 究極の再現性: ビルドに必要な入力をすべて定義し、どのマシンでも全く同じビルド結果(または環境)を再現。
  • アトミックな更新とロールバック: 更新に失敗しても、以前の正常な状態(ジェネレーション)に即座に戻すことが可能。
  • 宣言的な環境定義: flake.nixshell.nix に必要なツールを記述し、チーム全員で共通の開発環境を共有。
  • プロジェクトごとの環境分離: nix-shell を使い、OSにツールをインストールせずにプロジェクト内だけで有効なツールセットを作成。
  • システムの安全なアップグレード: アップグレード後に問題が起きても、起動時のブートメニューから旧バージョンを即座に選択。
  • 再現可能なサーバー構築: NixOS を活用し、一つの設定ファイルから全く同じ構成のサーバーを何台でもデプロイ。

推奨されるマルチユーザーインストール(推奨)を実行します:

sh <(curl -L https://nixos.org/nix/install) --daemon

インストール後、一度ログアウトして再ログインすると環境変数が反映されます。


システムにインストールせずに、特定のツール(例:git)を使えるシェルを起動:

nix-shell -p git
nix search nixpkgs [キーワード]

不要になった古いバージョンのファイルを削除してディスクを解放:

nix-collect-garbage -d

Nix は強力ですが、独自の関数型言語(Nix Expression Language)を覚える必要があります。まずは nix-shell から使い、徐々に Flakes などへ移行するのがおすすめです。