NixOS
公式
パッケージと設定項目の検索
公式 Wiki
特長
Nix expression language と言う関数型言語によって宣言的にシステムを構築することが出来る Nix は関数型言語と言うより関数型言語のガワをかぶった JSON のようなイメージ
宣言的なシステムを構築するために1ソフトウェア=1コンテナの様なパッケージ管理をしている
ソフトウェアのパッケージは /nix/store にすべて保存される
伝統的なファイルシステム構成はしておらず、初学者はここでハマることも多い要出典 ソフトウェア毎に独立したパッケージ管理によって、同じソフトウェアの複数バージョンを同居させることも出来る
諸条件はあるけど、複数のJavaを使えるようになっていたとしてもシステムが破綻しない
最近では nix flake という Experimental な機能によって npm の package.json のような事も出来るようになった
nix flake は Experimental だけど普通に皆が使っている
宣言的なシステムを再構築した後、過去のシステム構成を残しておくことによってシステムのロールバックが出来る
この代償として、明示的に古いパッケージを掃除しないとストレージの容量が大変なことになる
とは言え自動的にパッケージを掃除する設定もあります
には膨大なパッケージ定義があり、Linux Distro の中では群を抜いて多いらしい要出典 インストールされているソフトウェアやその設定をすべて宣言的に管理できる nyarla.icon
色々と追記してみました
個人的に NixOS は7年以上使っていますが、Gentoo と比べるとちょっと違うかな?という印象ですね
NixOS には広く配布されるバイナリキャッシュがある
バイナリキャッシュが配布されるパッケージは OSS のみ
↑により例えば NVIDIA のプロプライエタリドライバは配布されない
公式のバイナリキャッシュが配布されないパッケージは利用者の手元でコンパイルされる
NixOS ではシステムのリビルトが成功すれば、おおよそ問題なくアップグレードなども出来る
nyarla.iconは nixpkgs の master ブランチを常に追い掛けていますが、特段のシステム破壊は起きてないです
システム破壊が起きる場合は大抵ファイルシステムを粉砕した場合かバグを踏んだ時のみ、という印象
NixOS 固有の難点として、コンパイルが通ってもソフトウェアが動かない、とかあります
nyarla.iconが遭遇したのは ibus-skk が動かない、というケース
最初はなんとか workaround で凌いでいたものの、途中で Core dump し始めてどうしようもなくなった思い出
2026/06/06 taktamur.icon
OSの設定が一つのファイルでやるのがすごい新鮮
MacOS+Nix(home-manager)という組み合わせもある
使い勝手としては、homebrewをユーザ単位でインストールできるような感じ。
Nixのパッケージは基本静的で書き込み不可なので、npm install -g とかの操作とはめっぽう相性が悪い
設定はややこしい(他のLinuxの常識が通用しない)のだけど、そのへんはLLMサポートでなんとかなる