fix: specialArgs & _module.args (#185)

This commit is contained in:
Ryan Yin 2024-08-28 12:20:00 +08:00 committed by GitHub
parent d8914059f9
commit ed48f181f6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 7 additions and 6 deletions

View file

@ -95,7 +95,9 @@ submodules. The difference between them is:
passed through `_module.args` in `imports = [ ... ];`, it will result in an
`infinite recursion` error**. In this case, you must use `specialArgs` instead.
I personally prefer `specialArgs` because it is more straightforward and easier to use.
I personally prefer `specialArgs` because it is more straightforward and easier to use, and
the naming style of `_xxx` makes it feel like an internal thing that is not suitable for use
in user configuration files.
Suppose you want to pass a certain dependency to a submodule for use. You can use the
`specialArgs` parameter to pass the `inputs` to all submodules:

View file

@ -87,7 +87,8 @@ Nixpkgs 的模块系统提供了两种方式来传递非默认参数:
NixOS 社区比较推荐优先使用 `_module.args` 这个 options仅在无法使用 `_module.args` 时才改
`specialArgs`
我个人更喜欢 `specialArgs`,因为它更简单直接,用起来顺手些。
我个人更喜欢 `specialArgs`,因为它更简单直接,用起来顺手些,另外 `_xxx` 这种命名风格就让人
感觉它是个内部用的东西,不太适合用在用户配置文件中。
假设你想将某个依赖项传递到子模块中使用,可以使用 `specialArgs` 参数将 `inputs` 传递到所有
子模块中:
@ -241,11 +242,10 @@ nix run github:helix-editor/helix/master
- [Downgrading or Upgrading Packages](./downgrade-or-upgrade-packages.md): 这里引入了不同
版本的 Nixpkgs 作为依赖项,从而能很灵活地选用不同版本的 Nixpkgs 中的包。
## 其他 Flakes 学习资料
到此为止,我们已经学习了如何使用 Flakes 来配置 NixOS 系统。
如果你对 Flakes 还有更多的疑问,或者想深入学习,请直接参考如下官方/半官方的文档。
到此为止,我们已经学习了如何使用 Flakes 来配置 NixOS 系统。如果你对 Flakes 还有更多的疑
问,或者想深入学习,请直接参考如下官方/半官方的文档。
- Nix Flakes 的官方文档:
- [Nix flakes - Nix Manual](https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-flake)
@ -257,7 +257,6 @@ nix run github:helix-editor/helix/master
- 其他可能有用的文档:
- [Practical Nix Flakes](https://serokell.io/blog/practical-nix-flakes)
[nix flake - Nix Manual]:
https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-flake#flake-inputs
[nixpkgs/flake.nix]: https://github.com/NixOS/nixpkgs/tree/nixos-23.11/flake.nix