如何使用“ nix搜索”搜索Haskell软件包?

时间:2019-03-30 12:33:55

标签: haskell nix

我知道我可以使用

使用nix-env搜索Haskell软件包。
df.T.apply(lambda x: tuple(x.dropna())).tolist()

但这很慢且未缓存。如果我尝试使用新命令nix-env -f '<nixpkgs>' -qaP -A haskellPackages name_of_package ,则所有的Haskell软件包均被隐藏。

nix search

是否可以使用新的$ nix search aeson error: no results for the given search term(s)! 命令搜索Haskell软件包?如果可以,怎么办?


编辑:我在this irc日志中找到了有关此问题的讨论,但我不太理解建议在实践中的含义。

2 个答案:

答案 0 :(得分:5)

根据IRC聊天,创建一个包含以下内容的~/.config/nixpkgs/overlays.nix文件:

[
  (self: super: {
    haskellPackages = super.recurseIntoAttrs super.haskellPackages;
  })
]

这是一个将haskellPackages的recurseForDerivations属性设置为true的覆盖图。 recurseForDerivations告诉nix工具遍历该集合,在nix search的情况下进行搜索。目前尚无记录,但已实现here

Nix wiki描述了放置叠加层的位置,而Nixpkgs manual描述了实际的叠加层以及如何使用它们。

答案 1 :(得分:1)

您可以保存以下结果:

nix-env -f '<nixpkgs>' -qaP -A haskellPackages

然后每次搜索输出内容?

我认为问题是<nixpkgs>必须在每次调用时进行评估,但是,如果这是静态文件/路径,则不必这样做。