From ed48f181f6707f99d8a1064c15d59a892064c8cf Mon Sep 17 00:00:00 2001 From: Ryan Yin Date: Wed, 28 Aug 2024 12:20:00 +0800 Subject: [PATCH] fix: specialArgs & _module.args (#185) --- docs/nixos-with-flakes/nixos-flake-and-module-system.md | 4 +++- .../nixos-with-flakes/nixos-flake-and-module-system.md | 9 ++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/docs/nixos-with-flakes/nixos-flake-and-module-system.md b/docs/nixos-with-flakes/nixos-flake-and-module-system.md index e0e7966..757850b 100644 --- a/docs/nixos-with-flakes/nixos-flake-and-module-system.md +++ b/docs/nixos-with-flakes/nixos-flake-and-module-system.md @@ -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: diff --git a/docs/zh/nixos-with-flakes/nixos-flake-and-module-system.md b/docs/zh/nixos-with-flakes/nixos-flake-and-module-system.md index 2d9657b..e46c7a6 100644 --- a/docs/zh/nixos-with-flakes/nixos-flake-and-module-system.md +++ b/docs/zh/nixos-with-flakes/nixos-flake-and-module-system.md @@ -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