如何在 /nix/store 中查找已安装软件包的正确版本

如何在 /nix/store 中查找已安装软件包的正确版本

我安装了dovecot一个名为maildirlock我想使用的工具。它不在 PATH 中,但在 /nix/store 中。当然,在不同的版本中多次出现(并且可以通过 找到它们find /nix/store/ -iname "maildirlock")。

如何识别与当前安装(和运行)的 dovecot 匹配的版本?这样做的惯用方法是什么?有这个工具吗?

答案1

该包将其放入 中${pkgs.dovecot}/libexec/dovecot/maildirlock,因此它甚至不在通常放在 $PATH 上的目录中。

您当然可以通过某些方式解决它,例如configuration.nix相应地修改您的:

systemPackages = [
  (pkgs.runCommand "maildirlock" {}
    "mkdir -p $out/bin && ln -s ${pkgs.dovecot}/libexec/dovecot/maildirlock $out/bin/"
  )
];

相关内容