探索Nix世界的新向导:Noogle
Noogle 是一个创新的Nix API搜索引擎,专为那些想要更轻松地探索和理解Nix以及相关函数的初学者设计。它提供了优化的文档注释展示,以提高可读性,并针对英语和Nix函数名称进行了搜索优化。
功能强大,友好易用
- 新手友好:Noogle的搜索功能旨在让初学者也能迅速上手,找到所需的Nix和Nixpkgs函数。
- 类型过滤:您可以根据函数类型签名进行筛选,因为所有的类型都被解析并解释了。
- 超前洞见:Noogle不仅提供官方文档中的信息,还涵盖了未正式记录的内容,如内置函数的类型(包括
builtins.derivation
)。 - 静态HTML输出:生成预渲染的静态HTML页面,这些页面可以被其他搜索引擎索引。
- 基于WASM的高效搜索:利用WebAssembly实现快速响应的搜索体验。
涵盖广泛的数据集
Noogle当前包含了以下子集的nix
和nixpkgs
函数:
- 递归索引:lib和pkgs.rustPackages(这意味着它会遍历所有深层子属性)
- 正常索引:builtins, pkgs.stdenv, pkgs.dockerTools, pkgs.writers, pkgs.pythonPackages, pkgs.haskell.lib, 和 pkgs.haskell.lib
此外,还有一些不在默认nixpkgs.default.nix
评估值中的“离树”函数,例如make-disk-image
。
社区驱动的贡献
Noogle欢迎您的贡献。无论是通过提交PR还是创建问题,都非常容易扩展其索引数据。只需在./pasta/src/eval.nix
中添加即可,但请注意,添加的数据必须能够成功评估!
开发与参与
要构建这个页面,只需运行nix build .#ui
,这将生成静态HTML页面,每个API函数都有单独的页面,且自动包含供其他搜索引擎(如Google或Bing)使用的元标签。
为了开发,使用nix develop
命令,它会基于dream2nix创建一个包含所有必要依赖的node_modules
目录。
结论
作为Nix生态系统的得力工具,Noogle凭借其易用性和深度索引功能,为开发者提供了强大的支持。不论您是新接触Nix,还是寻求更高效的开发流程,Noogle都值得加入您的日常工具箱。快来尝试https://noogle.dev,开启你的Nix探索之旅吧!