diff --git a/src/skills/style/nix/rules/general.md b/src/skills/style/nix/rules/general.md index b2c62b3..ed367ef 100644 --- a/src/skills/style/nix/rules/general.md +++ b/src/skills/style/nix/rules/general.md @@ -26,27 +26,27 @@ The utility centralizes Nix file-name normalization. ### Rule -Use `lib.getExe` when invoking a package's main executable. -Use `lib.getExe'` when invoking a non-main executable from a package. -Do not build executable paths with `"${pkg}/bin/name"` when an executable helper can name the target. -Use `lib.getExe' config.programs..package "tool"` when a command must follow a configured package option. +Use `lib.getExe` for a package's main executable. +Use `lib.getExe'` for a package's non-main executable. +Do not build executable paths with `"${pkg}/bin/name"` when an executable helper names the target. +Use `lib.getExe' config.programs..package "tool"` when a command follows a configured package option. ### Rationale -Executable helpers use the package output that contains binaries. -They also make package ownership explicit. -`lib.getExe'` avoids accidentally resolving a package's main executable when code needs a different tool. +Executable helpers select the package output that contains binaries. +They make package ownership explicit. +`lib.getExe'` prevents calls to a package's main executable when code needs another tool. ## Prefer NixOS package ownership for commands ### Rule Use `pkgs.` for Home Manager tools. -Use `config.programs..package` when a NixOS module owns the selected package. +Use `config.programs..package` when a NixOS module owns the package selection. Do not read `config.home-manager.users..programs..package` for command paths. ### Rationale Home Manager uses the NixOS package set in this repository. -Referencing `pkgs.` avoids needless dependency paths through the Home Manager user tree. -Configured NixOS package options preserve the selected package when a module owns the tool. +`pkgs.` avoids dependency paths through the user tree under Home Manager. +Configured NixOS package options preserve package selection when a module owns the tool.