web-dev-qa-db-ja.com

NixOSでファイルが属する(インストールされていない)パッケージを見つける方法は?

NixOSNixパッケージマネージャー を使用しています。ファイルを提供するパッケージをインストールしたいとしますlibgtk-x11-2.0.so.0他のGNU/Linuxディストリビューション のように、このファイルを提供するパッケージをどのように見つけますか?

現在、ファイルをグーグルで検索し、どのパッケージに属しているかを調べて、Nixリポジトリで対応するパッケージを見つける必要がありますが、もっと慣用的な方法が必要です。

13

nix-index が必要です。

インデックスをインストールして構築します。

nix-env -iA nixos.nix-index
nix-index

検索libgtk-x11-2.0.so.0

nix-locate -w libgtk-x11-2.0.so.0

出力:

(zed.out)                                             0 s /nix/store/bc4mngklj2j7hmm21jra4641x4pm9r8z-node-webkit-env/lib/libgtk-x11-2.0.so.0
(thrust.out)                                          0 s /nix/store/wzg0k4i2cy0qsm3hwxlywxxbga019hbq-env-thrust/lib/libgtk-x11-2.0.so.0
(nwjs_0_12.out)                                       0 s /nix/store/js6klvzjfi5q4djmwb0bqzfb4x0vzm6g-nwjs-env/lib/libgtk-x11-2.0.so.0
(node_webkit_0_11.out)                                0 s /nix/store/30vm6a7bmc56ckl575rqassw60ccxjpg-node-webkit-env/lib/libgtk-x11-2.0.so.0
(mumble_overlay.out)                                  0 s /nix/store/wayx023w1nslqg2z0c5v4n0b4jxn5n06-gtk+-2.24.31/lib/libgtk-x11-2.0.so.0
gnome2.gtk.out                                        0 s /nix/store/3iqchhncghm5s458lzy99c3prfymrnp2-gtk+-2.24.31/lib/libgtk-x11-2.0.so.0

最後の行は、そのパッケージgtk+-2.24.31属性パス付きgnome2.gtkにはこのファイルが含まれています。

9
R. Taukulis

ドキュメントを見ると、これを行う簡単な方法があるようには見えません。

Yumベースのディストリビューションではyum provides $fileを実行でき、apt-getディストリビューションではapt-fileをインストールしてapt-file $fileを実行できますが、nix-env -qに同等のものが表示されません。

2
sysadmiral