我知道我可以使用
使用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日志中找到了有关此问题的讨论,但我不太理解建议在实践中的含义。
答案 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>
必须在每次调用时进行评估,但是,如果这是静态文件/路径,则不必这样做。