NixOSでファイルがどの(インストールされていない)パッケージに属しているかを確認するには?

NixOSでファイルがどの(インストールされていない)パッケージに属しているかを確認するには?

nix パッケージマネージャ存在するニックOS。ファイルを提供するパッケージをインストールしたいとしますlibgtk-x11-2.0.so.0。このファイルを提供するパッケージを見つける方法は次のとおりです。その他のGNU/Linuxディストリビューション

現時点では、ファイルを検索してそのファイルがどのパッケージに属しているかを調べ、Nixリポジトリでそのパッケージを見つける必要がありますが、より慣用的なアプローチが必要です。

答え1

ニックスインデックスそれはあなたが必要とするすべてです。

インデックスをインストールしてビルドします。

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このファイルが含まれていることを示します。

答え2

ドキュメントを見ると、これを行う簡単な方法はないようです。

yumベースのディストリビューションではこれを行うことができyum provides $file、apt-getディストリビューションではapt-fileをインストールしてこれを実行できますが、apt-file $file私はnix-env -q

関連情報